Справочник от Автор24
Поделись лекцией за скидку на Автор24

Методы и средства защиты информации

  • 👀 2724 просмотра
  • 📌 2681 загрузка
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Методы и средства защиты информации» doc
1. Значение информации и её защиты 1.1. Роль информации в современном мире Информация — основное понятие научных направлений, изучающих процессы передачи, переработки и хранения различных данных. Суть понятия информации обычно объясняется на примерах. Формальное определение дать очень сложно, поскольку понятие информации относится к таким же фундаментальным понятиям, как материя. Информация (в переводе с латинского – ознакомление, разъяснение, изложение) с философской точки зрения (Н. Винер) – это не энергия и не материя. Здесь информация рассматривается как категория действия – ознакомить, изложить, разъяснить и т.д. С.И. Ожегов дает два определения информации. Это: 1.) Сведения об окружающем мире и протекающих в нем процессах. Здесь информация рассматривается как категория, не предполагающая каких либо действий, достаточно наличия сведений в каком либо виде. 2.) Сообщения, осведомляющие о положении дел, о состоянии чего-либо. Здесь информация опять рассматривается как категория действия – необходимо действие по передаче сведений. Примерно с середины ХХ века понятие информации становится общенаучным и трактуется, как включающее обмен сведениями между людьми; человеком и автоматом; автоматом и автоматом; обмен сигналами в животном мире; передачу признаков от клетки к клетке, от организма к организму. Информация опять рассматривается как категория действия – необходимо действие по обмену сведениями и сигналами, по передаче признаков…, но, в отличие от предыдущих определений, подразумевающих участие в действиях только человека, здесь расширяется круг участников этого действия. Это автоматы, животные, организмы и клетки. Так что же все-таки такое информация? На сегодняшний день нет однозначного ответа на этот вопрос. Есть приверженцы как "идейной", так и "материальной" точки зрения на понятие информации. Третья точка зрения, не приближаясь ни к первой, ни ко второй, объединяет их в том смысле, что информация рождается только при наличии обоих факторов, как идеи, так и материи. Простой пример: У человека в голове родилась мысль, идея… Для первых – это информация – присутствует идея. Для вторых – это не информация – не присутствует энергия, материя. Для третьих – это не информация – присутствует идея, но, не присутствует энергия, материя. Человек произносит какие-либо звуки, например, буквы алфавита. Для первых – это не информация – не присутствует идея. Для вторых – это информация – присутствует энергия, материя, как-то энергия звуковой волны, колебания частиц атмосферы при разговоре. Для третьих – это не информация – не присутствует идея, хотя присутствует энергия, материя. Человек поделился устно своей мыслью, идеей с другим человеком. Для первых – это информация – присутствует идея. Для вторых – это информация – присутствует энергия, материя, как-то энергия звуковой волны, колебания частиц атмосферы при разговоре. Для третьих – это информация – присутствует и идея, и энергия, материя. Как видим, вопрос довольно-таки спорный, можно с чем-то соглашаться, с чем-то спорить и не прийти в ближайшем будущем к единому мнению. Но, несмотря на это, само понятие информации существует и требуется в каждодневной деятельности человека. И человек пользуется в таких случаях не философским понятием информации, а понятием информации в прикладном понимании… В различных сферах деятельности человек пользуется различными определениями понятия информации, в сфере информационной безопасности в России на сегодняшний день используется определение данное в Законе РФ "Об информации, информатизации и защите информации". Информация – это сведения о лицах, предметах, фактах, событиях, явлениях и процессах, независимо от формы их представления. Современный мир характеризуется такой интересной тенденцией, как постоянное повышение роли информации. Как известно, все производственные процессы имеют в своём составе материальную и нематериальную составляющие. Первая – это необходимое для производства оборудование, материалы и энергия в нужной форме (то есть, чем и из чего изготавливается предмет). Вторая составляющая – технология производства (то есть, как он изготавливается). Вспомнив в общих чертах историю развития производительных сил на Земле, каждый читатель увидит, что роль (и, соответственно, стоимость) информационной компоненты в любом производстве с течением времени возрастает. Мы живём в эпоху перехода от индустриальной фазы экономической общественной формации к постиндустриальной. Этот переход означает коренную смену производственных технологий: от участия человека в процессе тиражирования образца к полной автоматизации процесса тиражирования. Человеку в новом экономическом укладе остаётся производительная деятельность лишь по производству образцов, а также уникальных товаров и услуг. Эта деятельность, прежде всего, связана с производством дигитального и мотивационного продукта. В чем отличается постиндустриальная цивилизация от индустриальной? В индустриальной цивилизации производитель что-то тиражировал. Процесс тиражирования был основой экономики. В постиндустриальном обществе тиражирование ничего не стоит, и каждый производитель создает продукт, который обладает новизной и значительностью в масштабах всего человечества. Сегодня на смену автоматизированным производствам пришли производства полностью автоматические. Индустриальная экономика заключалась в том, чтобы превратить образец в технологию, эту технологию растиражировать, как её массово произвести, как продать, довести до потребителя. Это и есть основа индустриальных социальных технологий. В постиндустриальном мире все по-другому. Здесь каждый производитель создает фундаментально новый продукт. С одной стороны этот продукт обладает новизной и значительностью в масштабах всего человечества. С другой стороны потребителей для него крайне мало, но зато эти потребители используют его, для того чтобы воздействовать или распространять свои интересы в глобальном масштабе. Вопрос тиражирования в этой экономике снимается тем, что каждый обладает автоматическими средствами тиражирования. Тот, кто сегодня не обладает – вскоре обзаведется. Если у тебя стоит солидный лазерный 3D-принтер, который может работать с композитными материалами, то на сегодняшний день ты можешь произвести что угодно, не обращаясь к другим производителям. Мы видим в ближайшей перспективе экономику, в которой реальные деньги можно делать, только создавая глобально уникальный всеобщий товар. Деньги платят за образцы, проекты, модификации. Тиражирование никого не волнует, продажи – тоже. Господствующим экономическим укладом становится тот уклад, который был в прошлые эпохи характерен для фундаментальной науки. В последнее столетие появилось много таких отраслей производства, которые почти на 100% состоят из одной информации, например, дизайн, создание программного обеспечения (ПО), реклама и другие. Соответственно, и себестоимость товара складывается из стоимости материала, энергии и рабочей силы с одной стороны и стоимости технологии, с другой. Доля НИОКР в цене товара в наше время может достигать 50% и более, несмотря на то, что материальные затраты индивидуальны для единицы продукции, а затраты на технологию – общие, то есть, раскладываются поровну на всю серию товара. Появился даже принципиально новый вид товара, в котором доля индивидуальных затрат сведена почти до нуля. Это ПО, при производстве которого все затраты делаются на создание первого образца, а дальнейшее его тиражирование не стоит ничего. Столь же ярко демонстрирует повышение роли информации в производственных процессах появление в XX веке такого занятия, как промышленный шпионаж. Не материальные ценности, а чистая информация становится объектом похищения. В прошлые века человек использовал орудия труда и машины для обработки материальных объектов, а информацию о процессе производства держал в голове. В XX столетии появились машины для обработки информации – компьютеры, роль которых все повышается. Указанные тенденции однозначно свидетельствуют, что начинающийся XXI век станет информационным веком, в котором материальная составляющая отойдёт на второй план. 1.2. Промышленный шпионаж В США ежегодные потери бизнеса от экономического и промышленного шпионажа, в соответствии с отчетами ФБР, составляют до 100 млрд. долл. Значительную лепту в общий объем потерь США, как никакой другой страны мира, вносит кибершпионаж, в настоящее время являющийся одной из главных составляющих как экономического, так и промышленного шпионажа. Причиной тому является то, что Соединенные Штаты сильнее других государств зависят от сетевой инфраструктуры: здесь сосредоточено более 40% вычислительных ресурсов мира и около 60% информационных ресурсов Интернета. Выделить и проанализировать отдельно сумму потерь от экономического и промышленного шпионажа не представляется возможным. Вместе с тем проведенный американскими специалистами анализ показывает, что в 58% случаев экономический и промышленный шпионаж осуществлялся по заданиям зарубежных компаний, в 22% – в интересах иностранных правительств и в 20% – частных и государственных зарубежных научных центров и лабораторий. При этом менее развитые страны, как правило, стремятся к вывозу технологий, доступных на коммерческом рынке. По данным исследования, проведенного Американским обществом промышленной безопасности, было установлено, что в большинстве случаев осуществления промышленного шпионажа наибольшую ценность для конкурирующих компаний представляла информация о научных исследованиях и разработках (49%). Фактов промышленного шпионажа на американской земле можно приводить очень много. Свежим примером промышленного шпионажа является осуждение весной этого года семейной пары за кражу технологий у концерна General Motors (GM). Злоумышленники, американцы китайского происхождения, похитили технологии гибридных силовых установок у концерна GM, чтобы продать их Китаю для последующего воспроизведения. Им удалось скопировать около 16 тыс. документов компании, 20 из которых содержали коммерческую тайну. Суд штата Мичиган оценил украденные технологии в 46 млн. долл. и осудил супружескую пару к тюремному заключению и выплате штрафа в размере 40 тыс. долл. В Германии нелегальное присвоение секретов производства («ноу-хау») только иностранными фирмами, по заявлению главы Рабочей группы по безопасности в экономике ФРГ Бертольда Штоппелькампа, обходится экономике страны не менее чем в 20 млрд. евро каждый год, По словам Штоппелькампа, не более 6% случаев становится достоянием гласности. Более трети немецких компаний считали, что у них была осуществлена кража промышленных секретов, однако обращения в правоохранительные органы сделаны не были. Только в Мюнхене за период с начала 2010 года по сентябрь 2011 года от такого рода действий пострадало более 250 фирм, общие убытки составили 35 млн. евро. По мнению немецких аналитиков, если в 2000 году объектом охотников за коммерческими тайнами была каждая десятая компания в Германии, то сегодня – каждая четвертая. Интерес для промышленных шпионов, по данным германских исследователей, представляют научные исследования и конструкторские разработки (16%). Основными способами незаконного получения конфиденциальной информации являлись: вербовка сотрудников конкурирующих организаций; получение информации через поставщиков услуг и консультантов; хакерские атаки на компьютерные системы; технический перехват электронных сообщений; кража документов, материалов и образцов; прослушивание и перехват конфиденциальных переговоров. В Великобритании, по данным Управления компьютерной безопасности и информационной надежности (OCSIA), потери британских корпораций из-за краж интеллектуальной собственности – конфиденциальных данных по проектам, методикам и разного рода коммерческим тайнам, за год составили почти 9,2 млрд. фунтов стерлингов. Кроме того, в соответствии с обнародованными данными, ежегодные потери от непосредственно организованного промышленного шпионажа составляли 7,6 млрд. фунтов стерлингов. Подчеркивалось, что при этом 1 млрд. фунтов стерлингов пропадает из-за воровства персональных данных. В Японии, по результатам проверки Министерством экономики, торговли и промышленности 625 предприятий, выяснилось, что в 35,8% из них были случаи утечки информации, связанные с промышленным шпионажем. Основными выявленными методами недобросовестной конкуренции являлись: копирование конфиденциальных документов, в том числе электронных баз данных, сотрудниками за денежное вознаграждение от конкурентов; получение информации через сотрудников, приглашенных работать по совместительству в конкурирующие компании (например, в выходные); через партнеров – поставщиков оборудования. В качестве примера можно привести факт осуждения двух бывших сотрудников одной из крупных японских компаний. Они были признаны виновными в том, что передали фирме КНР чертежи, представляющие коммерческую тайну. Воришек приговорили к двум годам лишения свободы и штрафу по 13 тыс. долл. Примерно такая же ситуация наблюдается и в других передовых европейских и азиатских странах. В России действующее уголовное законодательство не предусматривает ответственности за промышленный шпионаж. Может быть, поэтому в последнее время это явление стало достаточно распространенным. По данным одной из российских консалтинговых фирм, примерно в 90 из 100 обследованных отечественных компаний и фирм были случаи кражи информации. При этом лишь 5% их руководителей решились подключить к расследованию правоохранительные органы. Объяснением этому служит то, что обнаруженные факты «промышленного шпионажа» в российских условиях получают огласку только в крайних случаях. Злоумышленникам нет резона обнародовать свои подвиги, а потерпевшей стороне не хочется подрывать свою репутацию. В большинстве фирм интеллектуальная собственность не защищена патентами, свидетельствами и ноу-хау (с введением режима коммерческой тайны). Приводимые данные статистики даже по ст. 183 УК РФ (незаконное получение и разглашение сведений, составляющих коммерческую, налоговую или банковскую тайну) порой весьма противоречивы. За последние пять лет ежегодно фиксируется 200…250 преступлений по данной статье, хотя, по оценке самих правоохранителей, в действительности число преступных посягательств указанного вида на конфиденциальную коммерческую информацию, совершаемых в России, в разы превышает приведенные показатели. Необходимо отметить, что часть посягательств на коммерческую тайну скрыта в статистике преступлений в сфере компьютерной информации. Речь идет о случаях, когда сведения, составляющие коммерческую тайну, имеют форму компьютерной информации. По данным МВД РФ, общее количество ежегодно фиксируемых преступлений в сфере компьютерной информации, предусмотренных ст. 272 УК РФ (неправомерный доступ к компьютерной информации), составляет уже 3…4 тыс. с тенденцией к значительному росту в ближайшей перспективе. Кроме того, в РФ право на отнесение информации к сведениям, составляющим коммерческую тайну, предоставлено обладателю такой информации (ч. 1 ст. 4 Федерального закона «О коммерческой тайне»), то есть самой организации. Это обстоятельство порождает представление о том, что выявление преступлений указанного вида также в первую очередь дело самого обладателя коммерческой тайны. Первое в России громкое дело о «промышленном шпионаже», получившее широкий резонанс, было возбуждено в Екатеринбурге в 2003 году. На заводе «Уралмаш» были обнаружены «промышленные шпионы», работавших на конкурентов. Это были две женщины, сотрудницы офиса, за плату копировавшие документы и передававшие копии конкурентам. Изобличили «шпионок» во время передачи копий. Правда, до суда дело не дошло, так как предприятие отозвало иск в связи с якобы незначительностью понесенного ущерба. Но есть случаи из практики промышленного шпионажа в России, дошедшие до суда. В 2010 году суд города Богдановича Свердловской области вынес обвинительное заключение работнице предприятия по ст. 183 УК РФ. Ее приговорили к выплате штрафа в 13 тыс. руб. Женщину застали с поличным, когда она пыталась проникнуть в компьютерную базу данных предприятия. Другой достаточно свежий случай обнаружения «технически продвинутого промышленного шпиона» произошел в Карелии. В декабре 2012 года сотрудник крупного акционерного общества Петрозаводска оборудовал одно из помещений, предназначенное для проведения совещаний и переговоров, специальными техническими средствами, которые обеспечивали дистанционный видео- и аудиоконтроль за проведением конфиденциальных встреч и получение коммерчески значимой информации. Как было установлено следствием, сотрудник действовал в интересах конкурентов акционерного общества. Еще одним показательным случаем привлечения субъектов «промышленного шпионажа» по ст. 183 УК РФ является, как его окрестили в СМИ, «коммерческий шпионаж по-мордовски». В 2010 году в Саранске была выявлена и пресечена противоправная деятельность преступной группы, которая занималась разглашением конфиденциальных коммерческих сведений. В состав группы входили: начальник одного из подразделений предприятия и бывший менеджер, а также сотрудник одного из мордовских коллекторских агентств. Ими продавались сведения с грифом «коммерческая тайна» о деятельности предприятий Мордовии. Причем роли участников группы были четко распределены: действующий сотрудник добывал интересующую конкурентов информацию, бывший менеджер находил клиентов, а третий участник осуществлял договорные процессы. В течение года конфиденциальная информация «сливалась» конкурентам. Ежемесячная прибыль преступной группы от продажи информации составляла более 100 тыс. руб., а размер упущенной выгоды из-за разрыва долговременных контрактов и возникновения напряженных отношений бывших потребителей с конкурентами составил, по предварительным оценкам, около 200 млн. руб. Что примечательно, согласно результатам социологических исследований, 77% опрошенных руководителей отечественных компаний считают промышленный шпионаж чрезвычайно эффективным методом рыночной борьбы. По признанию ряда из них «экономическая эффективность кражи имеет большую рентабельность», и «всегда легче применить «ноу-хау», разработанное конкурентами, чем тратить огромные деньги на научные и промышленные разработки». Отрицают эффективность промышленного шпионажа лишь 9% руководителей отечественных компаний. Приведенных примеров достаточно для того, чтобы констатировать, что и до вступления в ВТО в России, в соответствии с общемировой тенденцией, идет нарастание конкурентной борьбы, в том числе с использованием методов недобросовестной конкуренции. Следует признать, что промышленный шпионаж появился не вчера. Он стал нормой для промышленно развитых стран. Методы недобросовестной конкуренции перерождаются и мутируют во все худшие и изощренные формы. Бороться с ними сложно и полностью искоренить, очевидно, нереально. Говоря о тенденции развития этого явления, можно с большой долей уверенности ожидать, что в ближайшем будущем в РФ, как уже полноправном члене ВТО, конкурентное противоборство между хозяйствующими субъектами будет усиливаться как внутри страны, так и на межгосударственном уровне. Причем не только внутри отраслей, но и между отраслями экономики, в том числе с задействованием механизмов промышленного шпионажа. 1.3. Значение защиты С повышением значимости и ценности информации соответственно растёт и важность её защиты. С одной стороны, информация стоит денег. Значит, утечка или утрата информации повлечёт материальный ущерб. С другой стороны, информация – это управление. Несанкционированное вмешательство в управление может привести к катастрофическим последствиям в объекте управления – производстве, транспорте, военном деле. Например, современная военная наука утверждает, что полное лишение средств связи сводит боеспособность армии до нуля. В современном мире бизнеса информация, а точнее сказать такие ее качества как быстрота (скорость обмена), конфиденциальность, достоверность, целостность и другие, имеют решающее значение. Причем если такие качества информации как скорость обмена и достоверность помогают Вам быстро принимать точные и правильные решения в режиме постоянно меняющихся условий, то такие свойства как конфиденциальность и целостность имеют большое значение при хранении или передаче информации, содержащей коммерческие секреты, наработки или “ноу-хау”. Информацию можно расценивать как нематериальные активы компании, утрата или повреждение которых может негативно сказаться на деятельности компании, а в отдельных случаях привести и к краху. Поэтому эти активы следует защищать от внешних или внутренних, стихийных или техногенных разрушающих воздействий. А значит, у информации появляется еще одно качество – защищенность, а на предприятии появляется новое понятие – информационная безопасность. Так что же такое “информационная безопасность”, и какие действия следует предпринять для того, чтобы избежать незавидной участи жертв “информационной катастрофы”? Давайте рассмотрим следующий наглядный пример: На вашем автомобиле есть сигнализация? С большой долей вероятности можно предположить, что есть. А это значит, что практически любое враждебное воздействие на Ваш автомобиль Вы в состоянии обнаружить и на большинство из них отреагировать тем или иным способом. Даже в том случае, если Вы не смогли или не успели дать отпор должным образом, и ваш автомобиль подвергся атаке, неважно с какими целями – угон, кража магнитолы или же просто съем геральдического знака марки автомобиля, Вам будет нанесен ущерб, который Вы сможете точно оценить. И в случае, если автомобиль застрахован, вы сможете возместить все убытки. В отношении информации дело обстоит иначе. Например, на Западе можно застраховать информацию, но такой шаг принесет пользу только в случае полной или частичной утраты информации, потому что потенциальные убытки от таких нарушений как раскрытие, разглашение или повреждение информации могут быть значительно больше, чем страховая компания способна возместить, а последствия могут проявляться еще длительное время. В России же страхование информации почти не практикуется в связи с отсутствием законов, регламентирующих такой вид деятельности, а также в связи с некоторыми качественными характеристиками информации, такими как: способность быть скопированной и размноженной, а соответственно и восстановленной. Но если вы не можете застраховать свою информацию, то в Ваших силах установить “сигнализацию”, а также защитить свою информацию множеством разных способов, которые будут гораздо эффективнее защиты автомобиля. Кстати, если речь зашла о страховании, то прежде чем страховать некие активы (в нашем случае информацию) их нужно, во-первых, оценить, а во-вторых, страховая компания захочет получить подтверждение того, что эти активы защищены. Однако для того чтобы добиться состояния информационной безопасности в вашей компании, не следует бросать все силы и средства на приобретение самых современных и совершенных систем разграничения и контроля доступа, межсетевых экранов, генераторов шума, поглощающего электромагнитные излучения лака и прочих средств защиты. При построении систем защиты информации необходимо строго соблюдать пропорцию между стоимостью системы защиты и степенью ценности информации. Это одна из самых сложных задач в проектировании систем безопасности, для решения которой лучше пригласить специалиста. Для того чтобы определить требуемый уровень защиты Вашей информации, Вам нужно ответить для себя на два вопроса, которые помогут Вам определить степень ценности Вашей информации и целесообразность построения системы информационной безопасности. В первую очередь Вам нужно определить, что Вы хотите защитить. От этого зависит концепция построения системы защиты. Хотите ли Вы защитить хранящиеся на Вашем компьютере файлы или Вам нужна комплексная защита здания офиса компании с обеспечением пропускной системы и защитой от прослушивания. Защиту информации (ЗИ) в рамках настоящего курса определим так: меры для ограничения доступа к информации для каких-либо лиц (категорий лиц), а также для удостоверения подлинности и неизменности информации. Вторая задача может показаться слабо связанной с первой, но на самом деле это не так. В первом случае владелец информации стремится воспрепятствовать несанкционированному доступу к ней, а во втором случае – несанкционированному изменению, в то время как доступ для чтения разрешён. Как мы позже увидим, решаются эти задачи одними и теми же средствами. Защита информации (ЗИ) — динамическая, развивающаяся дисциплина, в которой чрезвычайно высокую роль играют научные исследования. В настоящее время такие исследования ведутся по двум направлениям. Первое направление состоит в раскрытии природы явлений, приводящих к нарушению таких характеристик информации, как целостность, доступность, конфиденциальность, достоверность и т.п. Второе — в разработке практических методов защиты информации от указанных выше явлений. С целью обеспечения фактической базы, необходимой для развития обоих направлений, серьезно изучаются статистика и причины нарушений, личности нарушителей, суть применяемых нарушителями приемов, обстоятельства, при которых было выявлено нарушение. С другой стороны, для определения необходимых и достаточных условий защищенности информации ведутся интенсивные работы по моделированию системы защиты информации. 1.4. Современная ситуация в области информационной безопасности Здесь следует сделать небольшое отступление и рассказать о том, что представляет собой информация как объект защиты. В нашем случае удобнее будет считать, что информация – это продукт человеческой деятельности требующий для своего хранения и обработки материальных носителей. А это означает, что информация, требующая защиты, содержится не только в памяти Вашего компьютера или ноутбука, но и на дискетах, неосторожно оставленных на столе и в бумажных архивах, подверженных действию пожара или кражи. Обмен информацией осуществляется посредством телефонных проводов, при разговоре по телефону подверженному перехвату, в течение переговоров на собрании руководства или акционеров по обсуждению деятельности компании в местах незащищенных от прослушивания или же просто в местах большого скопления людей и разумеется при передаче данных по незащищенным и потенциально опасным общественным сетям. Наконец информацией владеет человек, способный раскрыть эту информацию в результате принуждения, шантажа или прямой угрозы жизни. То есть обеспечение информационной безопасности не сводится к внедрению комплекса законодательных, административных и программно-технических мер в отношении вычислительных ресурсов компании. Определение объектов защиты должно охватывать все средства хранения и все пути обработки информации, как в пределах офиса компании, так и за его пределами. Последнее время сообщения об атаках на информацию, о хакерах и компьютерных взломах наполнили все средства массовой информации. Что же такое "атака на информацию"? Дать определение этому действию на самом деле очень сложно, поскольку информация, особенно в электронном виде, представлена сотнями различных видов. Информацией можно считать и отдельный файл, и базу данных, и одну запись в ней, и целиком программный комплекс. И все эти объекты могут подвергнуться и подвергаются атакам со стороны некоторой социальной группы лиц. При хранении, поддержании и предоставлении доступа к любому информационному объекту его владелец, либо уполномоченное им лицо, накладывает явно либо самоочевидно набор правил по работе с ней. Умышленное их нарушение классифицируется как атака на информацию. Анализ зафиксированных фактов и уголовных дел, связанных с информационной безопасностью, свидетельствует о стремительном росте правонарушений. Промышленный шпионаж, неправомерное овладение и присвоение информации, недобросовестная конкуренция и т.п. уже превратились в реальный фон деятельности как государственных, так и коммерческих структур. Положение можно охарактеризовать, как довольно напряженное, что обусловлено: • крайне тяжелой экономической обстановкой в стране, расслоением общества на "очень богатых" и "очень бедных", падением уровня социальной защиты населения; • отсутствием должной координации деятельности правоохранительных органов, специальных служб, суда, прокуратуры и негосударственных служб безопасности; • сложностью учета правонарушений в информационной сфере; • отсутствием необходимого опыта выявления и пресечения новых видов преступлений в области информационных технологий; • ухудшением криминогенной обстановки в целом. Всем известен, наверное, случай обнаружения в 1998 году подслушивающего устройства в кабинете главного редактора "Комсомольской правды" или скандал с фирмой "Атолл" в феврале 1999 года, которая будто бы прослушивала разговоры даже членов семьи президента; или ликвидация правоохранительными органами стационарного пункта для осуществления прослушивания сотовых и спутниковых телефонов, а также переговоров своих сотрудников в холдинге "Медиа-МОСТ" в мае 2000 года. Поэтому очень актуальной становится проблема обеспечения информационной безопасной деятельности не только государственного служащего (что у нас всегда было на высоте), но и бизнесмена, предпринимателя, юриста, публичного политика, да и просто достаточно известного в обществе человека. Мировой уровень технического состояния противодействия попыткам нарушения информационной безопасности личности, общества и государства в целом достаточно высок. Однако для практической деятельности необходимо наличие финансовых средств на: • подготовку и периодическую переподготовку персонала служб информационной безопасности; • закупку и эксплуатацию средств защиты; проведение плановых и единовременных мероприятий по созданию, поддержанию и развитию состояния защищенности информационной сферы субъекта безопасности; • развитие и совершенствование существующих методов противодействия попыткам нарушения информационной безопасности и поиск новых методов. При наличии этих основных условий можно противостоять любым попыткам злоумышленных действий, однако в настоящее время главный акцент в деятельности различного рода служб безопасности коммерческих структур в России делается на силовой подход к проблеме безопасности в целом, делая ставку на мускулы охранников, а не на интеллект и техническую оснащенность. КПД такого подхода имеет низкий уровень, который не соответствует сложившейся криминогенной обстановке и международной практике. Представляет интерес сравнение объема финансирования служб безопасности стран Западной Европы и России. Первые расходуют от 15 до 25% годовой прибыли. Анализ средств, расходуемых на содержание служб безопасности коммерческими банками России, не во всех случаях составляет 1% годовой прибыли. При таком финансировании своей безопасности коммерческими структурами, ухудшение криминогенной обстановки в России неизбежно. Это выглядит как откровенная провокация криминальных структур на различного рода правонарушения. В свою очередь ухудшение криминогенной обстановки в России приведет российские коммерческие структуры к необходимости тратить столько же средств на свою безопасность, как и их коллеги на Западе, а в ряде случаев в силу специфики российской криминальной среды, и более. С массовым внедрением компьютеров во все сферы деятельности человека объем информации, хранимой в электронном виде, вырос в тысячи раз. И теперь скопировать за полминуты и унести дискету с файлом, содержащим план выпуска продукции, намного проще, чем копировать или переписывать кипу бумаг. А с появлением компьютерных сетей даже отсутствие физического доступа к компьютеру перестало быть гарантией сохранности информации. Каковы возможные последствия атак на информацию? В первую очередь, конечно, нас будут интересовать экономические потери: 1. Раскрытие коммерческой информации может привести к серьезным прямым убыткам на рынке. 2. Известие о краже большого объема информации обычно серьезно влияет на репутацию фирмы, приводя косвенно к потерям в объемах торговых операций. 3. Фирмы-конкуренты могут воспользоваться кражей информации, если та осталась незамеченной, для того чтобы полностью разорить фирму, навязывая ей фиктивные либо заведомо убыточные сделки. 4. Подмена информации как на этапе передачи, так и на этапе хранения в фирме может привести к огромным убыткам. 5. Многократные успешные атаки на фирму, предоставляющую какой-либо вид информационных услуг, снижают доверие к фирме у клиентов, что сказывается на объеме доходов. Естественно, компьютерные атаки могут принести и огромный моральный ущерб. Понятие конфиденциального общения давно уже стало "притчей во языцех". Само собой разумеется, что никакому пользователю компьютерной сети не хочется, чтобы его письма кроме адресата получали еще 5-10 человек, или, например, весь текст, набираемый на клавиатуре ЭВМ, копировался в буфер, а затем при подключении к Интернету отправлялся на определенный сервер. А именно так и происходит в тысячах и десятках тысяч случаев. Большое практическое значение имеют также исследования социологических аспектов данной проблемы, в том числе и мотивов, которыми руководствуются злоумышленники. Знание этих аспектов позволяет определить степень автоматизации обработки информации при конкретных исходных социологических предпосылках в какой-либо организационной структуре, когда процесс нарушений и тяжесть их последствий еще остаются на приемлемом уровне. Так, известно, что в организационных структурах с низким уровнем правопорядка, дисциплины и этики ставить вопрос о защите информации просто некорректно. Это справедливо также и для организационных структур, располагающих аппаратными и программными средствами обработки информации, надежность которых низка. Однако преступления совершаются не компьютерами, а людьми. Даже если принять за аксиому выражение “Проблема защиты информации – это, в первую очередь, проблема кадров” и проводить соответствующую кадровую политику, все равно проблему решить до конца не удастся. Во-первых, вряд ли удастся подобрать персонал таким образом, чтобы руководство было бы абсолютно уверено в каждом сотруднике, а во-вторых, человек может допустить случайное, неумышленное нарушение. Задача, таким образом, сводится к построению системы с заданным уровнем надежности из заведомо ненадежных, с точки зрения ЗИ, элементов. Несколько интересных цифр об атаках на информацию. Они были получены исследовательским центром DataPro Research в 1998 году. Основные причины повреждений электронной информации распределились следующим образом: неумышленная ошибка человека – 52% случаев, умышленные действия человека – 10% случаев, отказ техники – 10% случаев, повреждения в результате пожара – 15% случаев, повреждения водой – 10% случаев. Как видим, каждый десятый случай повреждения электронных данных связан с компьютерными атаками. Кто был исполнителем этих действий: в 81% случаев – текущий кадровый состав учреждений, только в 13% случаев – совершенно посторонние люди, и в 6% случаев – бывшие работники этих же учреждений. Доля атак, производимых сотрудниками фирм и предприятий, просто ошеломляет и заставляет вспомнить не только о технических, но и о психологических методах профилактики подобных действий. И, наконец, что же именно предпринимают злоумышленники, добравшись до информации: в 44% случаев взлома были произведены непосредственные кражи денег с электронных счетов, в 16% случаев выводилось из строя программное обеспечение, столь же часто – в 16% случаев – производилась кража информации с различными последствиями, в 12% случаев информация была cфальсифицирована, в 10% случаев злоумышленники с помощью компьютера воспользовались либо заказали услуги, к которым в принципе не должны были иметь доступа. 1.5. Аспекты защиты и анализ схем защиты Ни учет статистических данных о ранее совершенных нарушениях, ни использование самых совершенных моделей, ни другие средства не могут дать гарантии абсолютной защищенности информации. Но что делать, если решение об обработке информации все же необходимо принимать? В таком случае следует оценить степень риска, которому подвергается информация, а затем на основе этой оценки определить методы и средства ее защиты. Возможны два подхода к оценке степени риска. При первом подходе пользователь информации оценивает ущерб от нарушения ее сохранности и определяет соответствующий этому ущербу уровень защищенности информации. При втором подходе, когда пользователь информации по каким-либо причинам не имеет возможности оценить последствия нарушения, оценивается или задается только потенциальная защищенность информации, т.е. происходит опосредованная оценка степени риска. В обоих случаях требуется получить либо качественную, либо количественную оценку степени риска, на основании которой пользователь информации должен принять окончательное решение о методах и средствах ее обработки и используемых при этом методах и средствах ЗИ. Что представляют собой эти качественные и количественные оценки? Оценка ущерба может производиться в показателях, соответствующих той предметной области знаний, к которой относится информация. Сложнее обстоит дело с оценками уровня защищенности информации. Качественные оценки могут представлять собой комплекс требований пользователя к качеству защиты, составу средств защиты и их функциям. Количественные оценки могут характеризовать вероятность каких-либо нежелательных для пользователя событий или какие-то определенные параметры средств защиты. Во-первых, хорошая защита информации обходится дорого. Плохая же защита никому не нужна, ибо наличие в ней лишь одной "дырки" означает полную бесполезность всей защиты в целом (принцип сплошной защиты). Поэтому прежде чем решать вопрос о защите информации, следует определить, стоит ли она того. Способен ли возможный ущерб от разглашения или потери информации превысить затраты на её защиту? С этой же целью надо максимально сузить круг защищаемой информации, чтобы не тратить лишних денег и времени. Во-вторых, прежде чем защищать информацию, нелишне определить перечень вероятных угроз, поскольку от всего на свете вы всё равно не защититесь. Возможен вариант, когда вам надо обезопасить данные от несанкционированного доступа извне, например, из Интернета. Возможно, однако, что чужих хакеров ваши данные вовсе не интересуют, и вам следует защищать информацию только от собственных сотрудников. Возможно также, что похищение или разглашение вашей информации никому не навредит, но вот её подмена может нанести вам урон. Во всех трёх случаях методы защиты будут сильно различаться. В-третьих, при планировании схемы ЗИ большое значение имеет не только её объективная надёжность, но и отношение к защите других людей. В некоторых случаях достаточно, чтобы вы сами были уверены в достаточной надёжности защиты. А в других – это нужно доказать иным людям (например, заказчикам), часто не разбирающимся в соответствующих вопросах. Здесь встаёт вопрос сертификации, о котором мы поговорим позже. Все вышеуказанные аспекты анализируются до начала мероприятий по ЗИ. В противном случае вы рискуете впустую затратить силы и средства. При этом нужно четко осознавать, что основная опасность исходит изнутри системы. Статистика показывает, что 80% всех нарушений в области информационных технологий происходит внутри компании. В частности необученный пользователь, неумелыми действиями может нарушить работу целого офиса, ошибка администратора системы может привести к непредсказуемым последствиям, а пролитый внутрь системного блока компьютера кофе может обернуться потерей многомесячных трудов. К слову сказать, в подавляющем большинстве случаев от подобных неприятностей может спасти обыкновенное резервное копирование, для осуществления которого существует множество средств и не требуется “дипломированный специалист”. А ведь существует еще такое понятие как “социальная инженерия”, когда пользователь, сам того не желая, раскрывает злоумышленнику важную информацию. Простейший пример: злоумышленник, от имени сотрудника А, звонит в соседний отдел сотруднику Б и просит у него разрешения воспользоваться его паролем, из-за мнимых неполадок с его пользовательским бюджетом на сервере. Сотрудник Б, не знающий поименно всех сотрудников компании, сообщает “коллеге” свои аутентификационные данные в результате чего, его пароль оказывается скомпрометированным. Иными словами человек – самое слабое звено в системе защиты информации, а ведь общая защищенность любой системы оценивается именно по самому слабому участку. Заметим, что в большинстве практических случаев анализ показывает, что защита или не требуется вовсе, или нужны лишь чисто номинальные, "показушные" мероприятия. Систематический подход к вопросам ЗИ требует прежде всего поставить задачи. Для этого мы должны ответить на следующие вопросы. 1. Что именно мы намереваемся защищать? Эта группа вопросов относится к информационному процессу, нормальное течение которого мы намерены обеспечить: • кто является участником информационного процесса; • каковы задачи участников информационного процесса; • каким именно образом участники процесса выполняют стоящие перед ними задачи. 2. От чего мы собираемся защищать нашу систему? Эта группа вопросов охватывает возможные отклонения от нормального течения процесса информационного взаимодействия: • каков критерий «нормального« прохождения процесса информационного взаимодействия; • какие возможны отклонения от "нормы". 3. От кого мы собираемся защищать нашу систему? Эта группа вопросов относится к тем субъектам, которые предпринимают те или иные действия для того, чтобы отклонить процесс от нормы: • кто может выступать в качестве злоумышленника, то есть предпринимать усилия для отклонения процесса информационного взаимодействия от нормального течения; • каких целей добиваются злоумышленники; • какими ресурсами могут воспользоваться злоумышленники для достижения своих целей; • какие действия могут предпринять злоумышленники для достижения своих целей. Развернутый ответ на первый вопрос является моделью информационного процесса. Подробный ответ на второй вопрос должен включать критерий "нормальности" процесса и список возможных отклонений от этой "нормальности", называемых в криптографии угрозами, – ситуаций, которые мы бы хотели сделать невозможными. Субъект, препятствующий нормальному протеканию процесса информационного взаимодействия, в криптографической традиции называется "злоумышленником", в качестве него может выступать в том числе и законный участник информационного обмена, желающий добиться преимуществ для себя. Развернутый ответ на третий вопрос называется в криптографии моделью злоумышленника. Злоумышленник – это не конкретное лицо, а некая персонифицированная сумма целей и возможностей, для которой справедлив принцип Паули из физики элементарных частиц: два субъекта, имеющие идентичные цели и возможности по их достижению, в криптографии рассматриваются как один и тот же злоумышленник. Ответив на все перечисленные выше вопросы, вы получите постановку задачи защиты своего информационного процесса. Теперь, когда Вы определили объекты защиты и оценили уровень угрозы, Вы четко представляете, какие меры безопасности соответствуют степени ценности Вашей информации и специалистов какого профиля Вам нужно приглашать для внедрения системы информационной безопасности, отвечающей Вашим требованиям. Очень важно осознать, что любая система безопасности должна быть комплексной. К примеру, какой прок от криптографической защиты почтовой переписки, если любой сотрудник имеет доступ к компьютеру, с которого она ведется? Какие дополнительные меры можно предпринять для сохранения Вашей информации? Один из таких шагов – это обучение сотрудников. Как уже было сказано, человек – самое слабое звено в системе информационной безопасности и поэтому, пользователи системы должны иметь хотя бы поверхностное представление об угрозах, представляющих опасность для информации, с которой они работают. Администраторы и технический персонал должны полностью контролировать информационную среду компании и иметь возможность оперативного вмешательства в случае угрозы для ее безопасности. Следующий шаг – это пригласить, возможно на основе тендера, внешнюю компанию, специализирующуюся на построении систем защиты информации и обладающую необходимым опытом для внедрения такой системы в Вашей компании. Ваша система будет детально проанализирована и Вам будет предоставлен полный отчет о недостатках системы и заключение, на основе которого Вы сможете принять решение о внедрении необходимых мер защиты. Неплохой вариант, активно практикующийся на Западе – это передача функций отдела автоматизации (отдел информационных технологий) внешней компании, имеющей практический опыт, а также возможности сопровождения и круглосуточного мониторинга Вашей системы. И, несомненно, лучший вариант – это скомбинировать все вышеперечисленные способы. 1.6. Категории информационной безопасности Информация с точки зрения информационной безопасности обладает следующими категориями: • конфиденциальность – гарантия того, что конкретная информация доступна только тому кругу лиц, для кого она предназначена; нарушение этой категории называется хищением либо раскрытием информации; • целостность – гарантия того, что информация сейчас существует в ее исходном виде, то есть при ее хранении или передаче не было произведено несанкционированных изменений; нарушение этой категории называется фальсификацией сообщения; • аутентичность – гарантия того, что источником информации является именно то лицо, которое заявлено как ее автор; нарушение этой категории также называется фальсификацией, но уже автора сообщения; • апеллируемость – довольно сложная категория, но часто применяемая в электронной коммерции – гарантия того, что при необходимости можно будет доказать, что автором сообщения является именно заявленный человек, и не может являться никто другой; отличие этой категории от предыдущей в том, что при подмене автора, кто-то другой пытается заявить, что он автор сообщения, а при нарушении апеллируемости – сам автор пытается "откреститься" от своих слов, подписанных им однажды. В отношении информационных систем применяются иные категории: • надежность – гарантия того, что система ведет себя в нормальном и внештатном режимах так, как запланировано; • точность – гарантия точного и полного выполнения всех команд; • контроль доступа – гарантия того, что различные группы лиц имеют различный доступ к информационным объектам, и эти ограничения доступа постоянно выполняются; • контролируемость – гарантия того, что в любой момент может быть произведена полноценная проверка любого компонента программного комплекса; • контроль идентификации – гарантия того, что клиент, подключенный в данный момент к системе, является именно тем, за кого себя выдает; • устойчивость к умышленным сбоям – гарантия того, что при умышленном внесении ошибок в пределах заранее оговоренных норм система будет вести себя так, как оговорено заранее. 1.7. Абстрактные модели защиты информации Одной из первых моделей была опубликованная в 1977 модель Биба (Biba). Согласно ей все субъекты и объекты предварительно разделяются по нескольким уровням доступа, а затем на их взаимодействия накладываются следующие ограничения: 1) субъект не может вызывать на исполнение субъекты с более низким уровнем доступа; 2) субъект не может модифицировать объекты с более высоким уровнем доступа. Как видим, эта модель очень напоминает ограничения, введенные в защищенном режиме микропроцессоров Intel 80386+ относительно уровней привилегий. Модель Гогена-Мезигера (Goguen-Meseguer), представленная ими в 1982 году, основана на теории автоматов. Согласно ей система может при каждом действии переходить из одного разрешенного состояния только в несколько других. Субъекты и объекты в данной модели защиты разбиваются на группы – домены, и переход системы из одного состояния в другое выполняется только в соответствии с так называемой таблицей разрешений, в которой указано какие операции может выполнять субъект, скажем, из домена C над объектом из домена D. В данной модели при переходе системы из одного разрешенного состояния в другое используются транзакции, что обеспечивает общую целостность системы. Сазерлендская (от англ. Sutherland) модель защиты, опубликованная в 1986 году, делает акцент на взаимодействии субъектов и потоков информации. Так же как и в предыдущей модели, здесь используется машина состояний со множеством разрешенных комбинаций состояний и некоторым набором начальных позиций. В данной модели исследуется поведение множественных композиций функций перехода из одного состояния в другое. Важную роль в теории защиты информации играет модель защиты Кларка-Вильсона (Clark-Wilson), опубликованная в 1987 году и модифицированная в 1989. Основана данная модель на повсеместном использовании транзакций и тщательном оформлении прав доступа субъектов к объектам. Но в данной модели впервые исследована защищенность третьей стороны в данной проблеме – стороны, поддерживающей всю систему безопасности. Эту роль в информационных системах обычно играет программа-супервизор. Кроме того, в модели Кларка-Вильсона транзакции впервые были построены по методу верификации, то есть идентификация субъекта производилась не только перед выполнением команды от него, но и повторно после выполнения. Это позволило снять проблему подмены автора в момент между его идентификацией и собственно командой. Модель Кларка-Вильсона считается одной из самых совершенных в отношении поддержания целостности информационных систем. ====================================================================================== ВОПРОСЫ: 1. Роль информации в современном мире 2. Промышленный шпионаж 3. Значение защиты информации 4. Современная ситуация в области информационной безопасности 5. Аспекты защиты и анализ схем защиты 6. Категории информационной безопасности 7. Абстрактные модели защиты информации 2. Носители информации Очень часто путают саму информацию и её носитель. Такая путаница приводит к непониманию сути проблемы и, следовательно, к невозможности её решить. Поэтому следует чётко представлять себе, где информация, а где её материальный носитель. 2.1. Виды носителей Информация – вещь нематериальная. Это сведения, которые зафиксированы (записаны) тем или иным расположением (состоянием) материального носителя, например, порядком расположения букв на странице или величиной намагниченности ленты. Носителем информации может быть любой материальный объект. И наоборот – любой материальный объект всегда несёт на себе некую информацию (которая, однако, далеко не всегда имеет для нас значение). Например, книга как совокупность переплёта, бумажных листов, и типографской краски на них является типичным носителем информации. Чтобы отличать информацию от её носителя, надо твёрдо помнить, что информация – это сугубо нематериальная субстанция. Всё, что является материальным объектом, информацией быть не может, но только лишь её носителем. В том же примере с книгой и листы, и знаки на них – только носитель; информация же заключена в порядке расположения печатных символов на листах. Радиосигнал – тоже материальный объект, поскольку является комбинацией электрических и магнитных полей (с другой точки зрения – фотонов), поэтому он не является информацией. Информация в данном случае – порядок чередования импульсов или иных модуляций указанного радиосигнала. Материя и информация неотделимы друг от друга. Информация не может существовать сама по себе, в отрыве от материального носителя. Материя же не может не нести информации, поскольку всегда находится в том или ином определённом состоянии. Теперь перейдём к более конкретному рассмотрению. Хотя любой материальный объект – носитель информации, но люди используют в качестве таковых специальные объекты, с которых информацию удобнее считывать. Традиционно используемым носителем информации является бумага с нанесёнными на ней тем или иным способом изображениями. Поскольку в наше время основным средством обработки информации является компьютер, то и для хранения информации используются в основном машинно-читаемые носители. Ниже приводится полный список известных типов машинных носителей с их качественными характеристиками. • Жёсткий магнитный диск, ЖМД, НЖМД (hard disk, HD). Применяется как основной стационарный носитель информации в компьютерах. Большая ёмкость, высокая скорость доступа. Иногда встречаются модели со съёмным диском, который можно вынуть из компьютера и спрятать с сейф. • Гибкий магнитный диск, ГМД (floppy disk, FD) или дискета (diskette). Основной сменный носитель для персональных компьютеров. Небольшая ёмкость, низкая скорость доступа, но и стоимость тоже низкая. Основное преимущество – транспортабельность. • Лазерный компакт-диск (CD, CD-ROM). Большая ёмкость, средняя скорость доступа, но отсутствует возможность записи информации. Запись производится на специальном оборудовании. • Перезаписываемый лазерный компакт-диск (CD-R, CD-RW). В одних случаях возможна только запись (без перезаписи), в других – также ограниченное число циклов перезаписи данных. Те же характеристики, что и для обычного компакт-диска. • DVD-диск. Аналогичен CD-ROM, но имеет более высокую плотность записи (в 5-20 раз). Имеются устройства как только для считывания, так и для записи (перезаписи) DVD. • Сменный магнитный диск типа ZIP или JAZZ. Похож на дискету, но обладает значительно большей ёмкостью. • Магнитооптический или т.н. флоптический диск. Сменный носитель большой ёмкости. • Кассета с магнитной лентой – сменный носитель для стримера (streamer) – прибора, специально предназначенного для хранения больших объёмов данных. Некоторые модели компьютеров приспособлены для записи информации на обычные магнитофонные кассеты. Кассета имеет большую ёмкость и высокую скорость записи-считывания, но медленный доступ к произвольной точке ленты. • Перфокарты – в настоящее время не используются. • Перфолента – в настоящее время почти не используется. • Кассеты и микросхемы ПЗУ (read-only memory, ROM). Характеризуются невозможностью или сложностью перезаписи, небольшой ёмкостью, относительно высокой скоростью доступа, а также большой устойчивостью к внешним воздействиям. Обычно применяются в компьютерах и других электронных устройствах специализированного назначения, таких как игровые приставки, управляющие модули различных приборов, принтеры и т.д. • Флешкарта – развитие технологии кассет ПЗУ. Приобретает все большее распространение. Начинает вытеснять другие сменные носители информации, в первую очередь – дискеты. • Магнитные карты (полоски). Маленькая ёмкость, транспортабельность, возможность сочетания машинно-читаемой и обычной текстовой информации. Кредитные карточки, пропуска, удостоверения и т.п. • Существует большое количество специализированных носителей, применяемых в различных малораспространённых приборах. Например, магнитная проволока, голограмма. Кроме того, носителем информации является оперативная память компьютера, ОЗУ (RAM), но она не пригодна для долговременного хранения информации, поскольку данные в ней не сохраняются при отключении питания. 2.2. Защита носителей и её отличие от защиты информации Важно различать два вида ЗИ – защита носителей и защита непосредственно информации, безотносительно к тому, где она находится. Первый вид включает несколько методов защиты носителей информации (здесь мы будем рассматривать только компьютерные носители), их можно подразделить на программные, аппаратные и комбинированные. Метод же защиты самой информации только один – использование криптографии, то есть, шифровка данных. Если вы много работали с современными персональными компьютерами, то познакомились с некоторыми наиболее распространёнными методами защиты носителей. Вот их перечень. • Для всех сменных носителей – физическая их защита, например, запереть в сейф. • Для всех встроенных в ПК носителей – воспрепятствование включению питания компьютера. Конечно, этот метод действенен для ограниченного числа случаев. • Программное воспрепятствование доступу к конкретному носителю или к компьютеру целиков. Например, пароль на CMOS. Программно-аппаратный метод с использованием электронных ключей, которые чаще всего вставляются в COM-порт ПК. Не получая нужный ответ от ключа, программа, для которой он предназначен, не будет работать или давать пользователю доступ к своим данным. 2.3. Современная система удостоверяющих документов и её недостатки Защита документов от подделки (имеются в виду традиционные документы – на бумажном носителе) – типичная задача ЗИ, решаемая сейчас методом защиты носителя. В данном разделе описаны распространённые методы подделок и их выявления, а также показаны современные тенденции в данной области. В наш технический век ничто не даётся так дёшево и не ценится так дорого, как хорошая фальшивка. Красивая синяя книжечка с гордой надписью "Особая полиция специального назначения" за подписью "Президент Российской федерации" обходится в два часа работы за компьютером и легко открывает любую дверь. Никто пока что в этом замечательном документе не усомнился. Но проблема-то на самом деле нешуточная. И стоит она не только в нашей многострадальной, но не больше и не меньше, чем в глобальном масштабе. Возможен ли документ, которому можно было бы доверять на 100%? Стремительные темпы развития и распространения оргтехники, в частности, печатающих устройств недавно подняли новую проблему, к разрешению которой мы оказались не готовы. Проблема состоит в том, что традиционно используемые виды удостоверяющих документов совершенно беззащитны перед современной печатной, копировальной и иной техникой высокого разрешения. Так, на современном цветном струйном принтере с разрешением 600 точек на дюйм нельзя напечатать денежные купюры, но, например, оттиск любой печати или защитную сетку различных сертификатов и свидетельств он воспроизводит достаточно хорошо. На цветном лазерном принтере можно изготавливать денежные купюры практически в любой валюте. При этом полученные "рубли" или "доллары" визуально не отличаются от оригинала. Страну наводнила масса поддельных удостоверений, сертификатов, справок и лицензий. Количество фальшивок таково, что уголовные дела за подделку документов и использование заведомо поддельных возбуждаются лишь в исключительных случаях. В частности, по данным отдела билетного контроля "Мосгортранса", ежедневно только в Москве билетными контролерами изымаются 15-20 фальшивых удостоверений, дающих право на бесплатный проезд в общественном транспорте. На контрольных пунктах метро их уже перестали считать. Но уголовные дела в этих случаях не возбуждаются по причинам, лежащим, мягко выражаясь, вне сферы права. Методы защиты документов совершенствуются, пытаясь опередить методы подделки. Когда-то для уверенности в официальном происхождении документа вполне достаточно было наличия оттиска печати или типографским способом исполненного бланка. В наше время это вызывает лишь улыбку. Позже вводились водяные знаки. Они продержались лет двадцать. Потом пошли уже в ускоренном темпе: защитная сетка, рельефная печать, люминесцентные метки, микропечать, но все эти защиты преодолевались фальшивомонетчиками в сжатые сроки. В этой гонке защита-подделка есть определённый предел, и он, похоже, уже достигнут. Предел этот – способности человеческого зрения. Можно, конечно, использовать ещё более мелкую микропечать, но большинство проверок документов всё равно производится визуально. Внедряются всё новые и новые "степени защиты", но и они по истечении краткого времени преодолеваются местными "умельцами". Уже практически отправлены "на свалку истории" такие вещи, как рельефная печать, люминесцентные метки, металлические нити, голограммы, магнитные полоски. Скоро будут там же вмонтированные микрочипы. По этому поводу у многих сотрудников правоохранительных органов возникает мысль: а не следует ли пересмотреть В КОРНЕ всю систему защиты документов от подделки, если существующая дальше работать не может? 2.4. Бесперспективность защиты носителей Используемый в настоящее время принцип удостоверяющих документов состоит в том, что предъявляемый документ по своим ВИЗУАЛЬНЫМ характеристикам доступен для изготовления только официальным государственным (уполномоченным) органам и недоступен частным лицам. Это подразумевает существование таких технологий в области полиграфии, которые имеются лишь у государства. Такие технологии действительно существуют сейчас, как существовали всегда, однако их уровень постоянно повышается, поскольку совершенствуется техника частных лиц. Разрешение, доступное сейчас бытовой технике, примерно соответствует уровню разрешения глаза. То есть, исполненная в домашних условиях подделка (если сделана грамотно) визуальному выявлению НЕ ПОДДАЁТСЯ. Из исследованных образцов поддельных документов, практически все были выявлены или вызвали подозрения из-за несоответствия установленным образцам или вследствие обстоятельств предъявления (см. ниже). Техника изготовления находится на достаточно высоком уровне. Если бы авторы фальшивок обладали большей осведомлённостью относительно установленных образцов или были бы более осторожны на сбыте, документы вряд ли привлекли бы внимание правоохранительных органов. Иными словами, подводит преступников не техника, а собственная безграмотность. Техника свою задачу выполняет отменно. Выявить грамотно сделанную фальшивку без применения специальных технических средств практически не представляется возможным. В связи с этим, можно порекомендовать при проверке документа не столько смотреть на исполнение бланков, печатей, других атрибутов, сколько обращать внимание на его содержание. Однако, вернёмся к основной теме – принципам защиты документов. Выходом из положения многим видится использование таких методов защиты, как голограмма, водяные знаки, флуоресцентные метки, металлические волокна, магнитные метки и т.п. Однако ясно, что из всех перечисленных лишь голограмма поддаётся чисто ВИЗУАЛЬНОМУ контролю, в то время как все прочие новые методы подразумевают в той или иной степени контроль ИНСТРУМЕНТАЛЬНЫЙ. Ясно, что голограммы как метод защиты долго не продержатся: оборудование для их изготовления уже имеется в частном владении и скоро станет ещё более доступным. Можно прогнозировать сохранение этих тенденций и в дальнейшем: постоянно совершенствующиеся (и дорожающие!) способы защиты документов от подделки и всё большее мастерство изготовителей фальшивок. С ускорением темпов научно-технического прогресса в принципе любое инженерное решение, созданное государственными специалистами, через 2-3 года становится доступным для частных лиц (тем более, для организованных групп). Иными словами, дальнейшее увеличение степеней защиты документов мало перспективно и лишь сулит новые затраты. Выход из этой ситуации видится в использовании такой системы защиты документов, которую нельзя было бы "вскрыть" даже располагая одинаковой или более мощной техникой, чем у её изготовителя. Такая система может быть создана на основе криптографических методов защиты. 2.5. Перспективы эволюции удостоверяющих документов Основная идея предлагаемого нового принципа удостоверяющих документов основывается на следующем. Если материал, из которого изготавливается удостоверение, стал неустойчив к подделке, то следует отделить ИНФОРМАЦИЮ документа от МАТЕРИАЛЬНОЙ ОСНОВЫ и защищать именно информацию. Для разъяснения этого принципа рассмотрим существующие методы защиты информации как таковой. Документами, живущими в отрыве от своей материальной основы, являются электронные, представляющие собой содержимое файлов ЭВМ. Ещё недавно служащие относились недоверчиво к электронным документам, считая, что подделать их проще, чем документы на бумажном носителе. Оказалось, что как раз наоборот. Методы защиты и удостоверения подлинности информации в настоящее время разработаны удовлетворительно. Среди них наиболее известна программа PGP, основанная на алогитме RSA (алгоритм с открытым ключом). Хотя его устойчивость до сих пор строго не доказана, но нет серьёзных оснований полагать, что найден или может быть найден в ближайшее время способ "взлома" защиты на основе этого алгоритма. PGP позволяет удостоверить, что данный текст написан и заверен определённым человеком и никем иным, причем осуществить проверку может любой желающий. Предлагаемая для повсеместного внедрения схема удостоверяющих документов такова. Разрабатывается специализированный криптоалгоритм типа RSA, основанный на использовании открытого и закрытого ключей (ОК, ЗК). Текст каждого удостоверения (при необходимости – вместе с фотографией) подписывается сигнатурой (цифровой подписью) на основе ЗК. И текст, и фотография, и сигнатура должны быть читаемы как визуально, так и техническими средствами. Для проверки подлинности документа он сканируется специализированным портативным устройством, в которое заранее введён ОК. Сигнатура проверяется, и выдаётся подтверждение подлинности. Проверяющие сканеры должны иметься у всех полномочных представителей власти, а также свободно продаваться гражданам. Здесь сразу же возникают возражения относительно дороговизны такого метода. Но дело в том, что с теперешними темпами развития бытовой техники уже невозможно визуально защитить документ с хотя бы минимальной надёжностью. Государство поставлено перед необходимостью введения инструментальных методов контроля подлинности документов. Для этого потребуется оснащение техникой всех органов власти. И если уж техника всё равно будет необходима, предлагаемая система выглядит как наиболее дешёвая, поскольку сложная техника нужна лишь для проверки, а для изготовления документов можно обойтись более простой, в то время как иные современные методы требуют высокотехнологичного оборудования, как для контроля, так и для изготовления документов. С другой стороны, массовое производство (для свободной продажи всем желающим) резко снизит себестоимость и сможет окупить затраты на внедрение практически любой системы. То есть, для оценки эффективности предлагаемой схемы следует рассматривать её в сравнении не с существующей ныне (ибо она уже не годна), а с перспективными, которые уже возникают стихийно – микрочипы, магнитные полоски, запрос подтверждений и т.п. Рассмотрим некоторые детали предлагаемой системы. Единственным существенным слабым местом PGP признаётся проблема защиты открытых ключей от подмены (конечно, на самом деле, уязвимых мест у неё больше, но это вопрос спорный). Когда же ОК принадлежит государству, проблема эта снимается по понятным причинам. Невозможно подменить ключ, опубликованный официально во множестве экземпляров, разосланный во все госучреждения. Ещё одно из возражений, выдвигаемое в основном практическими работниками правоохранительных органов, состоит в утверждении о сложности проверки документов в критических, динамично развивающихся ситуациях, например, при задержании правонарушителя. Отвечая на это возражение, прежде всего, следует ещё раз подчеркнуть, что нам всё равно предстоит переход на инструментальные методы контроля подлинности. А не всё ли равно для рядового сотрудника, каким прибором водить по предъявленному документу – магнитодатчиком, радиодетектором или криптосканером? Для острых же ситуаций типа задержания правонарушителя демонстрация удостоверения всё равно носит условный, формальный характер. Как сейчас, так и в будущем, чем меньше преступник успеет рассмотреть прежде, чем на нём защёлкнутся наручники, тем лучше. Недостатком предлагаемой системы видится также проблематичность сохранения в тайне ЗК. В случае его рассекречивания последствия для всего государства могут оказаться катастрофичны. Да, действительно, вся система будет держаться всего на нескольких ключах, при компрометации которых наступит хаос. Риск можно существенно ослабить такими, например, мерами: увеличение числа закрытых ключей; периодическая плановая смена ключей; доступ к ЗК только одного специально уполномоченного человека ("лорд-хранитель печати"). Надо учитывать, что в ближайшие годы коммуникационная техника существенно шагнёт вперёд, благодаря чему смена даже ВСЕХ удостоверений в стране не представит особой проблемы. Информационное содержание соответствующих документов можно разослать в каждую инстанцию и каждому гражданину по каналам связи в считанные минуты, а напечатать твёрдую копию каждый человек (учреждение) сможет и самостоятельно. Возможно, рассмотренная проблема выглядит чересчур глобально. И слишком отдалённо. Но, видится, что решать её придётся всего через каких-нибудь 5-7 лет. И если не взяться за решение прямо сейчас, то, не исключено, что указанную технологию придётся в спешном порядке закупать за рубежом. А криптография – штука хитрая, в ней особенно актуальна пословица "Хозяин – барин". Российские правоохранительные органы вполне могут себе позволить использовать импортные компьютеры. Президент страны ничем (кроме престижа) не рискует, разъезжая на импортном лимузине. Но импортная криптотехнология в такой важной сфере, как удостоверяющие документы – совершенно непозволительный риск для государства. Поэтому и предлагается рассмотреть представленную тему именно сейчас, когда у нас ещё достаёт времени на разработку и конструирование СВОЕЙ системы. 2.6. Что такое биометрия Биометрия представляет собой совокупность автоматизированных методов и средств идентификации человека, основанных на его физиологической или поведенческой характеристике. Все системы биометрической идентификации выполняют две основные функции: 1. регистрацию — по нескольким измерениям со считывающего биометрического устройства формируется цифровое представление (шаблон или модель) биометрической характеристики (в зависимости от метода: отпечаток пальца, рисунок радужной оболочки глаза и т.д.), соответствующей регистрируемому человеку; 2. распознавание — одно или большее количество измерений биометрической характеристики считывающего устройства преобразуется в пригодную для использования цифровую форму и затем сравнивается: ◦ с единственным шаблоном, соответствующем проверяемому человеку. Шаблон выбирается по предварительному вводимому номеру или коду. Результаты сравнивания возвращаются приложению — такая процедура называется верификацией или сравнением «один к одному». Результатом сравнивания обычно является число – вероятность того, что сравниваемые шаблоны принадлежат одному лицу. Затем, с использованием какого-либо математического критерия, принимается решение об идентичности шаблонов; ◦ со всеми зарегистрированными шаблонами (без предварительного выбора шаблона и ввода номера или кода). В качестве результата возвращается список нескольких наиболее похожих шаблонов (с наибольшими вероятностями, полученными при сравнении). Затем, как и в предыдущем случае, с использованием какого-либо математического критерия принимается решение об идентичности шаблонов. Такая процедура называется идентификацией или сравнением «одно к многим». Методы биометрической идентификации В настоящее время существует множество методов биометрической идентификации, которые можно разделить на две большие группы: статистические и динамические. Статические методы основываются на физиологической (статической) характеристике человека, т.е. уникальном свойстве, данном ему от рождения и неотъемлемом от него. Динамические методы основываются на поведенческой (динамической) характеристике человека, т. е. построены на особенностях, характерных для подсознательных движений в процессе воспроизведения какого-либо действия. Статические методы 1. По отпечатку пальца. Самый распространенный метод биометрической идентификации, в основе этого метода лежит уникальность для каждого человека рисунка папиллярных узоров на пальцах. Изображение отпечатка пальца, полученное с помощью специального сканера, преобразуется в цифровой код (свертку) и сравнивается с ранее введенным шаблоном (эталоном) или набором шаблонов (в случае идентификации). 2. По форме ладони. Данный метод построен на распознавании геометрии кисти руки.С помощью специального устройства, позволяющего получать трехмерный образ кисти руки, получаются измерения, необходимые для уникальной цифровой свертки, идентифицирующей человека. 3. По расположению вен на тыльной стороне ладони. С помощью инфракрасной камеры считывается рисунок вен на тыльной стороне ладони или кисти руки , полученная картинка обрабатывается. и по схеме расположения вен формируется цифровая свертка. 4. По сетчатке глаза. Вернее, это способ идентификации по рисунку кровеносных сосудов глазного дна. Для того, чтобы рисунок стал виден, человеку надо посмотреть на удаленную световую точку, и подсвеченное таким образом глазное дно сканируется специальной камерой. 5. По радужной оболочке глаза. Метод основан на уникальности рисунка радужной оболочки глаза. Для реализации метода необходимы специальная камера и соответствующее программное обеспечение , позволяющее выделить из полученного изображения рисунок радужной оболочки глаза, по которой строится цифровой код. 6. По форме лица. В данном методе идентификации строится двух или трех мерный образ лица человека. С помощью камеры и специализированного программного обеспечения на изображении выделяются контуры глаз,бровей носа,губ и т.д. вычисляются расстояние между ними . По этим данным строится образ, преобразуемый в цифровую форму для сравнения. 7. По термограмме лица. В основе данного метода лежит уникальность распределения на лице артерий снабжающих кровью кожу и выделяющих тепло.Для получения изображения используются специальные камеры инфракрасного диапазона. 8. Другие методы. Существуют еще такие уникальные способы как идентификация по ДНК, подногтевому слою кожи, форме уха, запаху тела и т.д. Динамические методы 1. По рукописному почерку. Для этого метода используется подпись человека (иногда написание кодового слова). Цифровой код формируется по динамическим характеристикам написания, т.е. строится свертка в которую входит информация по графическим параметрам, временным характеристикам нанесения подписи и динамики нажима на поверхность и т.д. 2. По клавиатурному почерку. Метод аналогичен вышеописанному, но вместо подписи используется кодовое слово. Основная характеристика по которой строится свертка — динамика набора кодового слова. 3. По голосу. Существует много способов построения кода идентификации по голосу, как правило, это различные сочетания частотных и статистических характеристик голоса. 4. Другие методы. Для данной группы методов описаны выше только самые распространенные. Существуют такие уникальные методы как идентификация по движению губ, при динамике поворота ключа в дверном замке и т.д. 2.7. Практика выявления поддельных документов Вычислительная техника и периферия к ней развивается стремительными темпами, которые к тому же искусственно ускоряются производителями оборудования и ПО для стимулирования сбыта. Как указывалось выше, эти темпы развития опережают темпы совершенствования методов защиты документов. В частности, изготовление с помощью компьютерной техники поддельных документов в настоящий момент под силу одному человеку, обладающему средней квалификацией в области обращения с компьютером. Статистика выявленных преступлений говорит, что открывшейся возможностью поспешили воспользоваться многие. В данном разделе попробуем сориентироваться на возникшие в последнее время новые способы массовой фальсификации документов и особенности их выявления. Техника, потребная для подделки документов не слишком высокой степени защиты (справки, сертификаты, накладные, удостоверения), доступна практически любому потребителю. Используемое для этого ПО общедоступно и обходится в несущественную сумму. Обучиться работе с техникой и ПО средний человек может по многочисленной литературе, а чуть более умелый – даже самостоятельно. Время на освоение подделки документов – от 10 дней до 2-3 месяцев. При этом выполнение всех операций до предела автоматизировано и требует усилий лишь одного человека. Необходимость в сообщниках может возникнуть лишь на этапе сбыта фальшивок. Таким образом, можно сказать, что подделка документов при помощи компьютера сейчас доступна каждому. Приёмы изготовления поддельных документов различаются не сильно. Они сводятся к формированию в компьютере графических изображений бланков, печатей и штампов и распечатке их на принтере. Облегчает использование подделльных документов обилие разных видов настоящих документов, например, удостоверений оперативных служб. Так, сотрудники милиции Московского региона, в соответствии с нормативными документами, могут иметь на руках удостоверения свыше 20 различных видов (включая сюда ГУВД Москвы, Московской области, транспортную милицию и т.п.). Количество удостоверений ФСБ, ФСО и т.п. спецслужб вообще никому не известно, и никого постороннего с образцами этих документов не знакомят. Криминальные элементы, использующие фальшивые удостоверения правоохранительных органов, подрывают престиж действующих служб. Характерным примером может служить печальная история "Федерального сыскного бюро России". После разоблачения мошенников возникли трудности у настоящих сотрудников ФСБ. Другие, более наглые, мошенники подставили даже ГРУ. Не менее опасно и не менее широко распространено изготовление поддельных сертификатов на пищевые продукты, всевозможных разрешений, лицензий и свидетельств, используемых в сфере торговли. Такие документы, как правило, не подвергаются серьёзной проверке, но "экономят" коммерсантам массу средств, что делает данное преступление всё более распространённым. Практика показывает, что значительная часть изготовленных на компьютере фальшивок предназначается не для сбыта, а используется изготовителями для личных целей – ввиду простоты и доступности технологии. Большая доля делается для друзей и родственников, а на продажу – не так уж много. Это затрудняет обнаружение и раскрытие данного вида преступления. Всем практическим работникам правоохранительных органов известны "классические" признаки поддельных документов. Для нашего случая сохраняются такие из них, как несоответствие вида документа установленному образцу, несоответствие или ненатуральность подписей, опечатки и грамматические ошибки в тексте (последний признак – не всегда). В изготовленных на компьютере поддельных документах, в большинстве случаев, отсутствуют специальные меры защиты документов – спецклей, микропечать и т.д. Специфическими признаками поддельных документов, изготовленных рассматриваемым методом, являются следующие (перечислены в порядке убывания надёжности признака). 1. Прежде всего, злоумышленников подводит слишком высокое качество сфабрикованных документов. Они отличаются высокой чёткостью и детальностью изображения бланков, фоновой сетки, печатей и штампов. Все буквы идеально ровные, края чёткие. Печати и штампы прорисованы равномерно по всей площади. Отсутствует расплывание, смазывание и непропечатывание краски. Цвета яркие и чистые. 2. При использовании не слишком дорогих принтеров, имеющих разрешение до 300 точек на дюйм, заметна глазу "ступенчатость" на кривых участках штрихов печатей и рисунков. В других мелких деталях также могут быть заметны отдельные точки изображения (пикселы), например, на участках штриховки или вместо полутонов. 3. Отсутствуют вдавленности букв, характерные для типографской высокой печати, и вдавленности от проставления штампов. 4. При использовании струйных принтеров изображение получается нестойким и размазывается при смачивании водным раствором спирта или дихлорэтаном. При использовании лазерных принтеров отдельные буквы переходят на пластиковую основу, если её прижать к документу и слегка подогреть. Этот эффект хорошо заметен, когда поддельный документ заключён в пластиковую обложку. 5. Если изображение цветное, то при печати на струйном принтере нужный цвет достигается наложением нескольких красок. Иногда, на краях одноцветных участков бывают заметны следы такого смешения. Для рассматриваемых поддельных документов не характерен такой признак, как одинаковые номера бланков. В отличие от метода ксеро– или фотокопирования, на компьютере можно без всякого труда поставить любые номера и даже задать автоматическую расстановку последовательных номеров и серий. Как упоминалось выше, простые компьютерные подделки изготавливаются чаще всего для себя. Таким образом, хотя данное преступление фактически и является в последнее время массовым (особенно в крупных городах), но выявление его на сбыте подделок затруднено. Рекомендации, которые можно сформулировать по итогам изучения темы, к сожалению, не слишком обширны. 1. Практически любой проверяемый вами документ в наше время может оказаться поддельным. Следует внимательно следить за наличием вышеуказанных признаков. Практическим работникам было бы очень полезно иметь несколько образцов изготовленных на принтере фальшивок, чтобы лучше их узнавать. 2. Таким же способом, каким изготавливаются поддельные документы, могут делаться и совершенно законные бланки. Многие организации не могут себе позволить заказать тираж бланков в типографии, а изготовление на принтере малых тиражей достаточно дёшево. Разумеется, это законно лишь в отношении бланков данных организаций. 3. Искать изготовителя поддельных документов, отталкиваясь от наличия техники, вряд ли будет целесообразно. Компьютеры сейчас стоят повсеместно, и практически на всех установлено ПО, пригодное для изготовления поддельных документов. 4. В случае получения сведений об изготовлении фальшивок указанным способом службе безопасности (при невозможности обратиться в правоохранительные органы) следует принять меры для сбора и фиксации доказательств. А именно: ◦ провести изъятие компьютера (достаточно лишь системного блока, без монитора и клавиатуры) и принтера, с помощью которых предположительно изготавливались поддельные документы; сканер изымать не обязательно; ◦ при изъятии не включать компьютер, опечатать системный блок и принтер способом, исключающим их включение и доступ к печати, эти действия отразить в протоколе; ◦ передать изъятую технику на экспертизу с целью установить, находятся ли на жёстком магнитном диске компьютера файлы с изображениями документов, бланков, печатей и соответствуют ли они изъятым поддельным документам; ◦ не позволять задержанным по подозрению в указанном преступлении иметь доступ к компьютеру или давать кому-либо указания относительно компьютера: уничтожить имеющие доказательное значение файлы очень легко, это может сделать практически любой из друзей или родственников задержанного; ◦ при подготовке поддельных документов очень часто остаются пробные распечатки, черновики и подготовленные для сканирования образцы подлинных документов, их также следует найти и приобщить к делу; ◦ при всех действиях, связанных с компьютером, а также допрашивая задержаннного относительно способа изготовления поддельных документов, желательно проконсультироваться со специалистом в области вычислительной техники. 5. Поскольку, как указывалось, значительная часть поддельных документов изготавливается не для сбыта, при выявлении подделки имеет смысл искать её источник сначала поблизости от лица, использовавшего документ. 6. Использование компьютера, несмотря на доступность, требует всё же некоего минимального уровня интеллекта и опыта обращения с вычислительной техникой; этим следует руководствоваться при поиске изготовителя. Очень часто это студенты и старшеклассники, имеющие необходимую подготовку и наиболее склонные к использованию компьютерной техники. 7. Большинство лиц, профессионально имеющих дело с компьютерами, склонны заводить контакты и общаться с себе подобными при помощи глобальных компьютерных сетей. Такие контакты могут быть совершенно не заметны для непосвящённых. При этом кроме оперативного обмена информацией возможна также передача файлов с изображениями подделываемых документов. Среди таких обитателей компьютерных сетей сильны взаимовыручка и круговая порука. 8. С другой стороны, глобальные компьютерные сети открывают широкие возможности для сбора информации об интересующих людях и событиях, в том числе, касательно подделки документов, поскольку в сети, "в кругу своих" такие люди обычно откровенны. 9. В целом, описанный вид преступлений в силу перечисленных особенностей достаточно латентный, что не позволяет надеяться на успешное его подавление. ====================================================================================== ВОПРОСЫ: 1. Виды носителей информации 2. Защита носителей и её отличие от защиты информации 3. Современная система удостоверяющих документов и её недостатки 4. Бесперспективность защиты носителей информации 5. Перспективы эволюции удостоверяющих документов 6. Что такое биометрия 7. Практика выявления поддельных документов 3. Обзор наиболее распространенных методов "взлома" 3.1. Конкурентная разведка Конкурентная разведка (КР) является одним из наиболее характерных явлений первого десятилетия XXI века. Она эволюционировала как гибридный процесс деятельности по стратегическому планированию и маркетинговым исследованиям. На одном из этапов развития бизнеса компании начали широко применять стратегическое планирование в своей деятельности. Важными составляющими всего этого процесса были анализ конкурента, потребителя и поставщика с использованием во многом теоретико-практических наработок в области военной и политической разведки. Подобно многим инновационным идеям, общее принятие КР деловым миром было достаточно медленным. И сама КР эволюционировала медленно, но сделала резкий рывок за последнее десятилетие. В настоящее время КР в ведущих западных странах является одной из наиболее эффективных междисциплинарных методологий, позволяющих обеспечить активное информационно-аналитическое сопровождение субъекта предпринимательской деятельности в условиях возрастающих угроз и неопределенности конкурентной борьбы. Ее привлекательность как системы для делового мира заключалась и в том, что она функционирует в рамках действующих правовых норм, не использует уголовно наказуемых средств и ориентирована на цивилизованные способы ведения конкурентной борьбы. Среди наиболее важных задач, решаемых КР в зарубежных странах в настоящее время, следует отметить: • обеспечение эффективности ведения бизнеса, прежде всего, за счет поддержки принятия решений, как на стратегическом, так и на оперативно-тактическом уровнях; • выполнение функций системы «раннего предупреждения», привлекая внимание руководителей различных уровней на ранних этапах возникновения угроз, которые потенциально могут причинить ущерб бизнесу компании; • поиск благоприятных для развития бизнеса слабозаметных и кратковременно существующих возможностей, которые необходимо использовать и выявление которых без деятельности КР было бы невозможно; • оказание помощи службе безопасности компании в выявлении попыток конкурирующих и преступных структур получить доступ к корпоративным секретам; • выполнение функций механизма управления рисками, позволяющее компании эффективно реагировать на быстрые изменения окружающей среды. Свои результаты КР в основном получает благодаря аналитической обработке огромного количества разнообразных открытых информационных материалов. Однако неправильно было бы утверждать, что ею используются только методы сбора сведений из средств массовой информации или сети Интернет. Большое значение для получения конкурентных сведений играют и иные методы – наблюдение, осведомление, экспертные оценки, использование маркетинговых технологий (анализ конкурентной среды, SWOT-анализ, анализ PESTLE, оценка рыночной цепи, анализ рисков и т.д.), прогнозирование, «деловые игры», бенчмаркетинг, использование сети межличностных контактов и др. Американский, японский, китайский и западноевропейский бизнес сравнительно давно осознал значение конкурентной разведки и уже на протяжении двух десятилетий успешно ее внедряет в повседневную практику. В частности, из числа 3 тыс. крупнейших компаний США 60% уже занимаются конкурентной разведкой (для 500 крупнейших компаний этот показатель еще выше – 90%). В американских компаниях на конкурентную разведку в среднем выделяется до 2 млн. долл. ежегодно. Затраты на разведывательную деятельность окупаются в среднем в три раза. Около половины информации о положении своей компании на рынке руководители получают от подразделений КР. Формирование системы КР, как института управления конкурентной борьбой в различных сферах социальной жизни, в России только начинается, и все больше и больше руководителей осознает необходимость активного информационного обеспечения процесса принятия решения – организации конкурентной разведки. Как показывают результаты социологических исследований, в настоящее время некоторые российские компании в своей деятельности практикуют ведение конкурентной разведки. Почти каждая пятая российская компания занимается анализом деятельности конкурентов, чтобы, по их признанию, использовать позитивный опыт. Систематическую деятельность по разведыванию профессиональных секретов конкурентов ведут 18% российских фирм и компаний (при этом, по их утверждениям, их наработки носят легальный характер). В свою очередь, как показали результаты опроса, представители 62% отечественных компаний утверждают, что они не ведут разведывательную деятельность в отношении конкурентов. При этом часть респондентов называет подобную практику некорректной и даже безнравственной. Каковы же причины существующей ситуации с КР в России и возможные пути встраивания нашей страны в общемировую тенденцию? Прежде всего создается впечатление, что очень многие руководители предприятий не до конца понимают, что рынок – это не только прибыль сегодня и сейчас. Для них, очевидно, является откровением, что есть еще столько деталей и нюансов, без учета которых сегодняшняя курица, несущая золотые яйца, завтра будет делать это для других, поменяв насест из элементарных меркантильных соображений, и что на современном рынке все – товар, а не только то, что перечислено в прайс-листе компании. Далее, у нас в стране пока не только не осуществляется, но даже не выработана концепция пропаганды полезности использования опыта государственных разведывательных служб в интересах отечественных хозяйствующих субъектов. К примеру, во Франции за последние 20 лет произошли кардинальные изменения в отношении французских граждан к разведывательной деятельности. А толчком к этому послужило организованное в 1999 году движение отставных специалистов в области разведки по разъяснению ее роли и места в государственном механизме. Специалисты исходили из того, что в мире франкоязычных стран имидж разведки имел отрицательный заряд, подавляющая часть граждан благодаря СМИ являлась жертвой невежества и широкого заблуждения в отношении целей, задач и методов работы разведывательных служб. Мало кто знал диапазон возможностей разведывательных служб, профессиональный уровень подготовки их сотрудников, полезность их деятельности для защиты интересов Франции в политической, внешнеэкономической и других сферах деятельности. Комплекс мероприятий, осуществляемый движением ветеранов разведывательных служб, был подчинен идее демистификации разведки и объяснению ее истинной роли широкой общественности, а также пропаганде использования опыта разведывательной деятельности на благо заинтересованных сторон в области государственной политики. Образовательно-просветительская деятельность была направлена на широкую аудиторию: трудоспособное взрослое население, студенческую молодежь и школьников старших классов лицеев. Большое внимание уделялось пропаганде престижности профессии сотрудника разведывательных органов, значимости и полезности его деятельности для блага Франции. Достижение поставленных целей осуществлялось путем воздействия на парламентариев, через печатные и электронные средства массой информации и кинематограф. Одним из наиболее значительных достижений в пропаганде культуры разведывательной деятельности стало введение во французскую систему высшего образования двух университетских курсов дисциплин по вопросам разведки. По всей вероятности, рано или поздно такое понимание станет превалирующим и в нашей стране. Никого не будет пугать, что сотрудник компании будет представляться и партнерам, и конкурентам других компаний и фирм как сотрудник отдела конкурентной разведки, так как это будет предполагать, что он использует только законные методы конкуренции. Для ускорения этого процесса, конечно же, нужно на законодательном уровне разработать и принять целый комплекс законов, обеспечивающих противодействие промышленному шпионажу, четко определяющих понятия, связанные не только с коммерческой тайной, но и другими видами тайн. В настоящее время насчитывается около 20 видов тайн (аудиторская, врачебная, налоговая, нотариальная, связи, служебная, страхования, судопроизводства и др.), которые упоминаются почти в 100 федеральных законах и около 1500 правовых актах. Очевидно, уже не соответствует реалиям времени принятый 16 лет назад и законодательный документ, определяющий Перечень сведений конфиденциального характера (утвержден указом президента РФ от 6 марта 1997 года № 188). Необходимо также отметить, что эффективность КР в зарубежных странах обусловлена кадровым потенциалом специализированных подразделений компаний и фирм, обладающих высокой профессиональной компетентностью. Для этого за сравнительно непродолжительный исторический период (10…15 лет) в США, странах Западной Европы и Азии были созданы десятки учебных заведений по подготовке специалистов в области конкурентной (другие названия – деловая, бизнес-разведка, маркетинговая) разведки. В Китае несколько десятков университетов ввели специальность «Деловая разведка» в свои учебные планы как отдельную дисциплину. Учебные заведения, в которых на постоянной основе в учебные программы включена дисциплина «Конкурентная разведка», имеются также в Австралии и ряде других стран Азиатско-Тихоокеанского региона. По мнению руководства американского Общества профессионалов конкурентной разведки (The Society of Competitive Intelligence Professionals – SCIP), в ближайшее десятилетие потребность в специалистах КР будет неуклонно возрастать, что обусловливает необходимость решения актуальной проблемы – расширения сети учебных заведений, создания многоуровневой системы профессионального образования и разработки эффективной междисциплинарной методологии подготовки высококвалифицированных, компетентных профессионалов конкурентной разведки. По мнению ряда ведущих европейских экспертов в области образования, в течение ближайших 10 лет дисциплина КР будет включена во все европейские программы МБА. 3.2. Комплексный поиск возможных методов доступа Информация, которая нуждается в защите, возникает в самых различных жизненных ситуациях. Обычно в таких случаях говорят, что информация содержит тайну или является защищаемой. Для наиболее типичных, часто встречающихся ситуаций введены специальные понятия: государственная тайна, военная тайна, коммерческая тайна, юридическая тайна, врачебная тайна и т.д. Причем, когда говорят о защищаемой информации, имеют в виду следующие признаки такой информации: • имеется определенный круг законных пользователей, которые имеют право владеть этой информацией; • имеются незаконные пользователи, которые стремятся овладеть этой информацией. Официальные представители американской разведки признают, что спецслужбы США около 80% информации получают из таких источников, как отчеты разведчиков-дипломатов, военных атташе, из сообщений иностранной прессы и радио, из справочной литературы, официальных правительственных заявлений, документов и планов, рассказов туристов и из материалов и сведений, получаемых техническими средствами. Таким образом, основную часть разведывательной информации одна из ведущих держав мира получает без применения агентурных методов разведки — из открытых источников и с использованием технических средств. Рис. 1. Основные способы несанкционированного доступа Что касается последних, то к ним относятся различные технические системы. Применение тех или иных способов несанкционированного доступа (НСД) зависит от информации, которой собираются овладеть. Способ НСД к источникам секретной и (или) конфиденциальной информации можно определить, как совокупность приемов, позволяющих противнику получить охраняемые сведения секретного или конфиденциального характера. С учетом этой формулировки рассмотрим систематизированный перечень способов НСД к информации (рис. 1.). Помимо преднамеренных, целенаправленных действий противника по добыванию информации, утечке информации также способствуют: • стихийные бедствия (штормы, ураганы, смерчи, землетрясения, наводнения); • неблагоприятные погодные условия (гроза, дождь, снег); • катастрофы (пожары, взрывы) и террористические акты; • неисправности, отказы, аварии технических средств и оборудования. Обратимся к наиболее популярным и очевидным технологиям несанкционированного доступа. Рассмотрением их мы не должны пренебрегать по очень простому правилу: "прочность цепи не выше прочности самого слабого ее звена". Эта аксиома постоянно цитируется, когда речь идет о компьютерной безопасности. Например, как бы ни была прочна система, если пароль на доступ к ней лежит в текстовом файле в центральном каталоге или записан на экране монитора – это уже не конфиденциальная система. А примеров, в которых разработчики системы защиты забывают или просто не учитывают какие-либо примитивнейшие методы проникновения в систему, можно найти сотни. Например, при работе в сети Internet не существует надежного автоматического подтверждения того, что данный пакет пришел именно от того отправителя (IP-адреса), который заявлен в пакете. А это позволяет даже при применении самого надежного метода идентификации первого пакета подменять все остальные, просто заявляя, что все они пришли тоже с этого же самого IP-адреса. Примерно та же проблема существует в сети Novell NetWare 3.11 – в ней сервер может поддерживать одновременно до 254 станций, и при этом, при наличии мощной системы идентификации, аутентификация пакета ведется только по номеру станции. Это позволяло проводить следующую атаку – в присутствии в сети клиента-супервизора злоумышленнику достаточно послать 254 пакета с командой серверу, которую он хочет исполнить, перебрав в качестве псевдо-отправителя все 254 станции. Один из отправленных пакетов совпадет с номером соединения, на котором сейчас действительно находится клиент-супервизор, и команда будет принята сервером к исполнению, а остальные 253 пакета просто проигнорированы. А в отношении шифрования – мощного средства защиты передаваемой информации от прослушивания и изменения – можно привести следующий метод, неоднократно использованный на практике. Действительно злоумышленник, не зная пароля, которым зашифрованы данные или команды, передаваемые по сети, не может прочесть их или изменить. Но если у него есть возможность наблюдать, что происходит в системе после получения конкретного блока данных (например, стирается определенный файл или выключается какое-либо аппаратное устройство), то он может, не раскодируя информацию, послать ее повторно и добьется результатов, аналогичных команде супервизора. Все это заставляет разработчиков защищенных систем постоянно помнить и о самых простых и очевидных способах проникновения в систему и предупреждать их в комплексе. Рассмотрев основные методы, характеристики, виды и способы взлома, можно сделать вывод о том, что эффективной может быть лишь комплексная ЗИ, сочетающая следующие меры: • законодательные (использование законодательные актов); • морально-этические (сознательное соблюдение правил поведения, способствующих поддержанию здоровой моральной атмосферы в коллективе); • физические (создание препятствий для доступа к охраняемой информации); • административные (организация соответствующего режима секретности, пропускного и внутреннего режима); • технические (применение электронных и других устройств защиты информации); • криптографические; • программные. На основании многолетнего опыта к настоящему времени сформулирована система принципов создания средств защиты информации (СЗИ), среди которых можно выделить следующие: • концептуальное единство; • адекватность требованиям; • гибкость (адаптируемость); • функциональная самостоятельность; • удобство использования; • минимизация представляемых прав; • полнота контроля; • адекватность реагирования; • экономическая целесообразность. Однако при создании СЗИ необходимо учитывать, что их разработчики не могут знать наверняка когда, кто и с помощью каких технических средств будет осуществлять попытки НСД к информации. Также необходимо учитывать, что носителями информации, а, значит, и вероятными источниками ее утечки, являются следующие субъекты и объекты: • персонал, имеющий допуск к информации; • документы, содержащие ее (все типы носителей); • технические средства и системы обработки информации, в том числе линии связи, по которым она передается. 3.3. Виды и природа каналов утечки информации при эксплуатации ЭВМ Учитывая роль, которую играют ПЭВМ в современном обществе вообще, а также тенденцию к повсеместному использованию ПЭВМ для обработки информации с ограниченным доступом в частности, совершенно необходимо детальнее рассмотреть принципы образования каналов утечки информации при эксплуатации ПЭВМ. Как известно, современные ПЭВМ могут работать как независимо друг от друга, так и взаимодействуя с другими ЭВМ по компьютерным сетям, причем последние могут быть не только локальными, но и глобальными. С учетом этого фактора, полный перечень тех участков, в которых могут находиться подлежащие защите данные, может иметь следующий вид: • непосредственно в оперативной или постоянной памяти ПЭВМ; • на съемных магнитных, оптических, электронных и других носителях; • на внешних устройствах хранения информации коллективного доступа (RAID-массивы, файловые серверы и т.п.); • на экранах устройств отображения (дисплеи, мониторы, консоли); • в памяти устройств ввода/вывода (принтеры, графопостроители, сканеры); • в памяти управляющих устройств и линиях связи, образующих каналы сопряжения компьютерных сетей. Каналы утечки информации образуются как при работе ЭВМ, так и в режиме ожидания. Источниками таких каналов являются: • электромагнитные поля; • наводимые токи и напряжения в проводных системах (питания, заземления и соединительных); • переизлучение обрабатываемой информации на частотах паразитной генерации элементов и устройств технических средств ЭВМ; • переизлучение обрабатываемой информации на частотах контрольно-измерительной аппаратуры. Помимо этих каналов, обусловленных природой процессов, протекающих в ПЭВМ и их техническими особенностями, в поставляемых на рынок ПЭВМ могут умышленно создаваться дополнительные каналы утечки информации. Для образования таких каналов может использоваться: • размещение в ПЭВМ закладок на речь или обрабатываемую информацию (замаскированные под какие-либо электронные блоки); • установка в ПЭВМ радиомаячков; • умышленное применение таких конструктивно-схемных решений, которые приводят к увеличению электромагнитных излучений в определенной части спектра; • установка закладок, обеспечивающих уничтожение ПЭВМ извне (схемные решения); • установка элементной базы, выходящей из строя. Кроме того, классификацию возможных каналов утечки информации в первом приближении можно провести на основании принципов, в соответствии с которыми обрабатывается информация, получаемая по возможному каналу утечки. Предполагается три типа обработки: человеком, аппаратурой, программой. В соответствии с каждым типом обработки всевозможные каналы утечки также разбиваются на три группы. Применительно к ПЭВМ группу каналов, в которых основным видом обработки является обработка человеком, составляют следующие возможные каналы утечки: • хищение материальных носителей информации (магнитных или оптических дисков и т.п.); • чтение информации с экрана посторонним лицом; • чтение информации из оставленных без присмотра бумажных распечаток. В группе каналов, в которых основным видом обработки является обработка аппаратурой, можно выделить следующие возможные каналы утечки: • подключение к ПЭВМ специально разработанных аппаратных средств, обеспечивающих доступ к информации; • использование специальных технических средств для перехвата электромагнитных излучений технических средств ПЭВМ. В группе каналов, в которых основным видом обработки является программная обработка, можно выделить следующие возможные каналы утечки: • несанкционированный доступ программы к информации; • расшифровка программой зашифрованной информации; • копирование программой информации с носителей; • блокирование или отключение программных средств защиты. 3.4. Методы и средства для несанкционированного получения информации из автоматизированных систем Рассмотрим наиболее распространенные методы и средства для несанкционированного получения информации из автоматизированных систем (АС). Сегодня эти методы и средства в связи с широким распространением ПЭВМ, взаимодействующих через локальные и глобальные сети, приобрели такую популярность, что нередко само понятие “защита информации” применяется исключительно в смысле защиты информации, обрабатываемой в АС, от утечки через компьютерные сети. Некоторые специалисты по ЗИ склонны выделять утечку информации через компьютерные сети в отдельный канал, равноценный другим техническим каналам утечки информации. Однако, в отличие от таких технических каналов, как радиоканал или акустический канал, утечка информации из АС по компьютерной сети является следствием не побочных, нежелательных процессов, вызванных конструктивными особенностями аппаратных средств и не учтенных разработчиками, а основных, штатных процессов, выполняющихся в АС в соответствии с замыслом разработчиков. Конечно, в определенном смысле утечка информации по компьютерным сетям также возникает вследствие несовершенства программно-аппаратных решений, реализованных в АС. Но, тем не менее, пользуясь подобными изъянами в архитектуре АС, злоумышленник все же использует ее ресурсы и процессы по прямому назначению. Например, дисплей ПЭВМ конструируется для отображения информации. Пользуясь побочными процессами, возникающими во время работы дисплея, злоумышленник может восстановить информацию, отображаемую на экране дисплея. В таких случаях можно говорить о наличии технического канала утечки информации. Но представим ситуацию, в которой этот же злоумышленник каким-либо образом получает доступ в помещение, в котором работает легальный пользователь (например, выдав себя за контролирующее лицо), и, встав за спиной пользователя, ознакамливается с той же информацией, что и в первом случае. Понятно, что в подобной ситуации нельзя говорить о техническом канале утечки информации, поскольку техническое средство (дисплей) используется злоумышленником по прямому назначению. Если же злоумышленник получает удаленный доступ к компьютеру пользователя по сети, то действия злоумышленника после получения такого доступа очень сходны с действиями при получении непосредственного доступа, например, когда легальный пользователь отлучился от рабочего места. Таким образом, выделение явлений, приводящих к утечке информации из АС (в частности, по компьютерным сетям) в отдельную группу, образующую самостоятельный технический канал утечки информации, вряд ли оправдано. Скорее, подобные явления можно классифицировать как специфическую разновидность явлений, приводящих к возникновению материально-вещественного канала утечки информации. Действительно, независимо от методов и средств, используемых злоумышленниками для несанкционированного получения информации из АС, в результате всегда на тех или иных носителях, находящихся в распоряжении злоумышленников, возникают электромагнитные поля, совокупность которых представляет собой полученную ими информацию. С технической и юридической точки зрения эта информация представляет собой точную копию исходной информации, в подавляющем большинстве случаев неотличимую от оригинала. В определенных ситуациях, когда у злоумышленника имеется физический доступ к АС, для получения такого же результат он может просто прибегнуть к хищению носителей информации (например, жесткого диска). Юридические последствия из-за хищения собственно носителя могут быть весьма малыми, учитывая неуклонную тенденцию к снижению стоимости аппаратных средств современных ЭВМ, чего нельзя сказать о юридических последствиях, которые могут возникнуть из-за хищения записанной на носителе информации. Все вышесказанное позволяет сделать вывод о том, что явления, приводящие к утечке информации из АС из-за несовершенства программно-аппаратных решений, можно с некоторыми допущениями отнести к материально-вещественному каналу. Однако, строго говоря, корректнее их относить к современной разновидности тайного физического проникновения, т.е. не к техническим, а к агентурным методам добывания информации. В частности, злоумышленники, пытающиеся получить доступ к АС, нередко прибегают к так называемой социальной инженерии (social engineering). Социальная инженерия — это использование психологии для скрытного добывания критичной с точки зрения доступа к АС информации (как правило — паролей, имен, кодов доступа и т.п.) у ее носителей. “Могущество” таких, ставших известными хакеров, как Кевин Митник и Роско, заключается не только и не столько в их технической подготовке, сколько в использовании методов социальной инженерии. Персонал, наряду с аппаратными средствами, программным обеспечением, данными и документацией является, по определению, составной частью любой АС. Однако рассмотрение всей совокупности вопросов, связанных с добыванием информации путем социальной инженерии, далеко выходит за рамки данного курса. Поэтому, учитывая остроту проблемы несанкционированного получения информации из АС, мы ограничимся лишь обзорным описанием технической стороны этой проблемы, не затрагивая ее гуманитарной составляющей. Методы и средства несанкционированного получения информации из АС можно классифицировать, исходя из разных признаков: по виду доступа, по уровню доступа, по характеру действий злоумышленника, по многократности доступа, по направленности действий злоумышленника, по тяжести последствий (рис. 2). По виду доступа все методы и средства можно разделить на две большие группы. К первой группе относятся методы и средства, используемые при локальном (физическом) доступе к АС, а ко второй — методы и средства, используемые при удаленном доступе (по компьютерной сети). Как правило, любая, даже самая надежная АС при наличии у злоумышленника локального доступа, достаточных сил и средств и достаточного времени, не сможет обеспечить сохранности информации. При удаленном доступе АС может быть достаточно надежно защищена, но, с другой стороны, абсолютной безопасности АС, имеющей физическое подключение к сетям передачи данных, гарантировать также нельзя. По уровню доступа методы и средства несанкционированного получения информации обычно разделяют на методы и средства гостевого, пользовательского, административного, системного и неограниченного уровня. Во многих современных операционных системах имеются встроенные учетные записи, предоставляющие их владельцами гостевой (Guest в системах Windows NT/2000/XP), административный (Administrator в Windows NT/2000/XP, root в Unix-системах), системный (SYSTEM в Windows 2000/XP) или неограниченный (администратор предприятия в Windows 2000/XP) доступ. При создании дополнительных учетных записей в большинстве современных операционных систем можно указать любой уровень доступа, но изменить его для встроенных учетных записей зачастую невозможно. По характеру действий злоумышленника используемые им методы и средства могут быть направлены на копирование, модификацию, уничтожение или внедрение информации. В последнем случае проявляется особенность АС, отсутствующая у традиционных средств накопления информации, связанная с тем, что в АС хранятся не только данные, но и программные средства, обеспечивающие их обработку и обмен информацией. Эта особенность интенсивно используется злоумышленниками, которые часто стремятся получить доступ к той или иной АС не ради несанкционированного доступа к хранящейся в ней информации, а для внедрения программной закладки, т.е. для несанкционированного создания в АС новой информации, представляющей собой активный компонент самой АС, либо для скрытного хранения собственной информации без ведома владельца АС. Рис. 2. Классификация методов и средств несанкционированного получения информации из АС По многократности доступа выделяют методы и средства, направленные на разовое получение несанкционированного доступа и многократное. В первом случае задача предупреждения несанкционированных действий злоумышленника значительно осложняется, однако часто, поскольку последний не заботится о сокрытии факта таких действий, несколько облегчается задача выявления таких действий. Во втором случае задача предупреждения упрощается, но усложняется задача выявления, поскольку основное внимание злоумышленник, планирующий многократно проникать в АС, сосредотачивает на сокрытии всех признаков такого проникновения. По направленности действий злоумышленника методы и средства несанкционированного получения информации из АС подразделяются на методы и средства, направленные на получение системной информации (файлы паролей, ключей шифрования, перечни учетных записей, схемы распределения сетевых адресов и т.п.) и собственно прикладной информации. Многих злоумышленников, проникающих в АС, подключенные к глобальным сетям, вообще не интересует хранящаяся в этих АС прикладная информация или интересует лишь в той степени, в какой она позволяет получить доступ к системной информации. Обычно такие злоумышленники используют подобные АС либо в качестве промежуточных узлов для проникновения в другие АС, либо для несанкционированного хранения собственной информации. По тяжести последствий используемые злоумышленниками методы и средства несанкционированного получения информации можно разделить на неопасные (сканирование портов, попытки установления соединений и т.п.), потенциально опасные (получение доступа к содержимому подсистем хранения данных, попытки подбора паролей и т.п.), опасные (получение доступа с высоким уровнем полномочий, модификация информации в АС, копирование системной и прикладной информации, создание собственной информации и т.п.) и чрезвычайно опасные (уничтожение информации, блокирование доступа легальных пользователей к АС и т.п.). 3.5. Терминалы защищенной информационной системы Несмотря на самоочевидность, все-таки наиболее распространенным способом входа в систему при атаках на информацию остается вход через официальный login-запрос системы. Вычислительная техника, которая позволяет произвести вход в систему, называется в теории информационной безопасности терминалом. Терминология восходит к временам суперЭВМ и тонких "терминальных" клиентов. Если система состоит всего из одного персонального компьютера, то он одновременно считается и терминалом и сервером. Доступ к терминалу может быть физическим, в том случае, когда терминал – это ЭВМ с клавиатурой и дисплеем, либо удаленным – чаще всего по телефонной линии (в этом случае терминалом является модем, подключенный либо непосредственно к системе, либо к ее физическому терминалу). При использовании терминалов с физическим доступом необходимо соблюдать следующие требования: 1. Защищенность терминала должна соответствовать защищенности помещения: терминалы без пароля могут присутствовать только в тех помещениях, куда имеют доступ лица соответствующего или более высокого уровня доступа. Отсутствие имени регистрации возможно только в том случае, если к терминалу имеет доступ только один человек, либо если на группу лиц, имеющих к нему доступ, распространяются общие меры ответственности. Терминалы, установленные в публичных местах должны всегда запрашивать имя регистрации и пароль. 2. Системы контроля за доступом в помещение с установленным терминалом должны работать полноценно и в соответствии с общей схемой доступа к информации. 3. В случае установки терминала в местах с широким скоплением народа клавиатура, а если необходимо, то и дисплей должны быть оборудованы устройствами, позволяющими видеть их только работающему в данный момент клиенту (непрозрачные стеклянные или пластмассовые ограждения, шторки, "утопленная" модель клавиатуры). При использовании удаленных терминалов необходимо соблюдать следующие правила: 1. Любой удаленный терминал должен запрашивать имя регистрации и пароль. Того, что якобы никто не знает шестизначного номера вашего служебного модема, отнюдь не достаточно для конфиденциальности вашей системы. Все дело в том, что при наличии программного обеспечения, которое не составит труда найти в сети Интернет, и тонового набора для одного звонка достаточно 4 секунд. Это означает, что за 1 минуту можно перебрать около 15 номеров телефонной станции с тем, чтобы узнать существует ли на этом телефонном номере модем. За час таким образом можно перебрать 1000 номеров, а за рабочий день с повтором в ночное время (это стандартная методика) – всю АТС (10.000 номеров). Напомню, что в нашем городе существует только 7 АТС. А за несколько дней можно проверить все телефоны такого города. И подобные операции производятся довольно часто, особенно в отношении фирм, связанных с компьютерами и компьютерными сетями, а также в отношении промышленных предприятий. 2. Вторым требованием является своевременное отключение всех модемов, не требующихся в данный момент фирме (например, по вечерам, либо во время обеденного перерыва), либо не контролируемых в данный момент Вашими сотрудниками. 3. По возможности рекомендуется использовать схему возвратного звонка от модема, поскольку она гарантирует с уровнем надежности АТС то, что удаленный клиент получил доступ с определенного телефонного номера. 4. Из login-запроса терминала рекомендуется убрать все непосредственные упоминания имени фирмы, ее логотипы и т.п. – это не позволит компьютерным вандалам, просто перебирающим номера с модемами, узнать login-экран какой фирмы они обнаружили. Для проверки правильности соединения вместо имени фирмы можно использовать неординарную приветственную фразу, какой-либо афоризм либо просто фиксированную последовательность букв и цифр, которые будут запоминаться у постоянных операторов этого терминала. 5. Также на входе в систему рекомендуется выводить на экран предупреждение о том, что вход в систему без полномочий на это преследуется по закону. Во-первых, это послужит еще одним предостережением начинающим злоумышленникам, а во-вторых, будет надежным аргументом в пользу атакованной фирмы в судебном разбирательстве, если таковое будет производиться. Безотносительно от физического или коммутируемого доступа к терминалу, линия, соединяющая терминал (коммутируемый, либо установленный в публичном месте) с зоной ядра информационной системы должна быть защищена от прослушивания, либо же весь обмен информацией должен вестись по конфиденциальной схеме идентификации и надежной схеме аутентификации клиента – этим занимаются криптосистемы. 3.6. Несанкционированное получение информации при наличии физического доступа к автоматизированным системам Как уже отмечалось, при наличии у злоумышленника физического (локального) доступа к АС и благоприятной для него обстановки он сможет обойти практически любую защиту. Для того чтобы значительно снизить шансы злоумышленника, имеющего физический доступ к интересующей его АС, необходимо предпринять целый комплекс мер, как технического, так и организационного характера, начиная от проектирования архитектуры АС с учетом всех требований защиты и заканчивая установкой камер наблюдения, охранной сигнализации и организации специального режима доступа. Однако на практике в большинстве случаев, по крайней мере какой-либо один фактор остается вне поля зрения организаций, обрабатывающих в своих АС информацию с ограниченным доступом, которая может интересовать тех или иных злоумышленников. Нередко оказывается и так, что таких факторов значительно больше, поэтому если организация не приняла всех мер для того, чтобы предотвратить несанкционированный физический доступ к своим АС и их компонентам, можно сказать с уверенностью, что ее секреты рано или поздно попадут к заинтересованным лицам. Рассмотрим подробнее методы и средства несанкционированного доступа к информации, которые можно применить на физическом уровне. Прежде всего, злоумышленник может воспользоваться одним из самых древних способов, против которого не сможет противостоять никакая АС, — хищением. Хищение информации, ее носителей, отдельных компонентов АС и, учитывая современные тенденции к миниатюризации СВТ, целых АС было и остается одним из самых распространенных способов несанкционированного получения информации. При этом квалификация лиц, участвующих в хищении может быть самой низкой, а правоохранительные органы, расследующие такие факты, да и зачастую сами подвергшиеся хищению организации, как правило, сосредотачивают основное внимание на осязаемых материальных ценностях. К хищению можно отнести и такие действия злоумышленников, когда компоненты АС просто подменяются на аналогичные. Например, сначала специалист высокой квалификации оказавшись под каким-то предлогом в офисе организации и используя благоприятную ситуацию, может за считанные секунды выяснить модель жесткого диска, причем все его действия будет контролировать легальный пользователь (типичная ситуация — любезное предложение помощи неопытному сотруднику, у которого “завис” компьютер и т.п.). Затем злоумышленникам остается лишь найти вышедший из строя жесткий диск аналогичной модели и, тайно проникнув в офис, заменить интересующий их жесткий диск неисправным. Если в организации не ведется строгого учета компонентов АС по серийным номерам (что, к сожалению, встречается сплошь и рядом), а злоумышленникам удастся скрыть факт проникновения в помещение (что также не очень большая проблема для опытных взломщиков), то такое происшествие не вызовет никакого подозрения. Кроме того, к хищениям во многих случаях можно отнести прямое копирование всего жесткого диска на другой диск. Даже если исходный диск защищен, например, с помощью шифрования, злоумышленник средней квалификации может принести с собой другой жесткий диск большего объема и просто скопировать все содержимое исходного диска на свой диск, который впоследствии будет передан на исследование специалистам более высокой квалификации. В таком случае получение несанкционированного доступа к скопированной информации — всего лишь вопрос времени. Наконец, следует знать, что часто хищение информации маскируется под хищение материальных ценностей. Например, злоумышленники могут похитить все офисное оборудование, хотя на самом деле их интересует лишь содержимое жесткого диска компьютера, стоявшего в кабинете руководителя. Часто оказывается, что руководители организаций, требуя от подчиненных соблюдения всех правил информационной безопасности, не распространяют на себя эти требования, хотя имеют доступ к любым файлам своих подчиненных. Например, большинство руководителей даже не подозревают, что все открываемые ими по сети файлы таких программ, как Microsoft Word и других офисных приложений, копируются в папку для временных файлов Windows на жестком диске. Вторым распространенным методом несанкционированного получения информации при локальном доступе к АС является использование открытого сеанса легального пользователя. Здесь возможности злоумышленника определяются лишь временем, на который он получает доступ к АС, полномочиями в АС легального пользователя и наличием (точнее, отсутствием) контроля со стороны легального пользователя или его коллег. Особая опасность этого метода заключается в том, что со стороны специалистов по защите информации действия злоумышленника, воспользовавшегося открытым сеансом легального пользователя, скорее всего, не вызовут никаких подозрений (в большинстве случаев на “своих” пользователей, особенно если они занимают в иерархии организации более высокое положение, администраторы безопасности обращают меньше всего внимания). Часто пользователи практически подталкивают посторонних к несанкционированному доступу к своим системам, размещая свои пароли “под рукой” прямо на рабочем месте (например, наклеивая листки для записей с паролями на монитор или на тыльную сторону клавиатуры). В этом случае такая “защищенная” система ничем не отличается от системы, на которой остался открытым сеанс легального пользователя. Близким к указанному выше методу является подбор пароля легального пользователя. Этот метод более “заметен” со стороны компонентов АС, обеспечивающих безопасность, однако также оказывается достаточно эффективным. Например, в организации может быть реализована жесткая политика по выбору паролей, обеспечивающая невозможность случайного подбора или угадывания паролей за 2–3 попытки с блокированием учетной записи при превышении количества попыток. При этом все пользователи организации, покидая рабочее место, должны временно блокировать доступ к своим системам так, чтобы блокировка снималась только при правильно введенном пароле. Однако некоторые пользователи могут установить полюбившиеся программы-заставки, в которых ввод пароля происходит в обход основной операционной системы. Часто оказывается, что такие пользователя в качестве пароля выбирают последовательности вида 1111 или user и т.п., что значительно облегчает задачу подбора пароля легального пользователя. Часто для осуществления подбора пароля легального пользователя злоумышленники прибегают к использованию открытого сеанса этого же или другого пользователя с последующим копированием системных файлов. В частности, в системах Windows 98/ME злоумышленник может скопировать файлы с расширением PWL, находящиеся в основной папке Windows, а затем применить к ним какое-нибудь средство вскрытия файлов PWL, например Repwl или CAIN. В системах Windows NT/2000/XP с той же целью злоумышленник может скопировать файл SAM или его резервную копию SAM._, находящиеся в папке repair системной папки Windows, а затем попытаться установить хранящиеся в них пароли с помощью системы L0phtCrack. В Unix-подобных системах наибольший интерес для злоумышленника представляют файлы /etc/passwd или shadow. С помощью таких утилит, как crack или john, любой злоумышленник, обладая минимальной квалификацией, может за считанные минуты или даже секунды получить информацию о паролях легальных пользователей, хранящихся в этих файлах. Еще одним методом физического несанкционированного доступа является использование учетной записи легального пользователя для расширения полномочий в АС. Он отличается от метода использования открытого сеанса легального пользователя тем, что в данном случае злоумышленнику не требуется выдавать себя за другого, поскольку он в силу тех или иных причин сам имеет доступ к АС. Например, во многих организациях сторонним пользователям, посетителям, представителям других организаций, временным сотрудникам и другим лицам, не являющимся сотрудниками организации, предоставляют так называемые гостевые учетные записи. Однако часто оказывается, что АС, предназначенные для гостевого доступа, имеют физический доступ ко всем АС организации, а действия сторонних пользователей, получающих гостевой доступ, практически никак не контролируются. Это позволяет злоумышленнику, воспользовавшись специальными программами взлома (exploit), расширить свои полномочия вплоть до получения полного доступа ко всем АС организации. В системах Windows NT/2000/XP, например, злоумышленник может воспользоваться такими программами взлома, как getadmin или main, а в Unix-подобных системах — многочисленными программами взлома командной оболочки и других Unix-программ, в изобилии присутствующих в Internet, действие которых основано на известных изъянах соответствующего системного программного обеспечения Unix. Наконец, часто злоумышленнику, имеющему физический доступ к АС, не нужно вообще обладать квалификацией даже среднего уровня, чтобы получить несанкционированный доступ к информации этой АС. Во многих случаях ему достаточно прибегнуть к такому простому приему, как загрузка альтернативной операционной системы. Такая система может загружаться как с дискеты, так и с компакт-диска. (К особой разновидности этого метода является срабатывание функции автозапуска в Windows 98. Воспользовавшись этим изъяном, злоумышленник может запустить нужную ему программу даже на системе c Windows 98, защищенной с помощью экранной заставки с паролем). Например, с помощью простого командного файла злоумышленник может в считанные минуты перезагрузить компьютер, работающий под управлением Windows 98/ME/2000/XP и получить в свое распоряжение перечень всех файлов, а также файлы PWL и SAM, хранящиеся на дисках этого компьютера. 3.7. Получение пароля на основе ошибок администратора и пользователей Перебор паролей по словарю являлся некоторое время одной из самых распространенных техник подбора паролей. В настоящее время, как хоть самый малый результат пропаганды информационной безопасности, он стал сдавать свои позиции. Хотя развитие быстродействия вычислительной техники и все более сложные алгоритмы составления слов-паролей не дают "погибнуть" этому методу. Технология перебора паролей родилась в то время, когда самым сложным паролем было скажем слово "brilliant", а в русифицированных ЭВМ оно же, но для "хитрости" набранное в латинском режиме, но глядя на русские буквы (эта тактика, к сожалению, до сих пор чрезвычайно распространена, хотя и увеличивает информационную насыщенность пароля всего на 1 бит). В то время простенькая программа со словарем в 5000 существительных давала положительный результат в 60% случаев. Огромное число инцидентов со взломами систем заставило пользователей добавлять к словам 1-2 цифры с конца, записывать первую и/или последнюю букву в верхнем регистре, но это увеличило время на перебор вариантов с учетом роста быстродействия ЭВМ всего в несколько раз. Так еще в 1998 году было официально заявлено, что даже составление двух совершенно не связанных осмысленных слов подряд, не дает сколь либо реальной надежности паролю. К этому же времени получили широкое распространение языки составления паролей, записывающие в абстрактной форме основные принципы составления паролей среднестатистическими пользователями ЭВМ. Следующей модификацией подбора паролей является проверка паролей, устанавливаемых в системах по умолчанию. В некоторых случаях администратор программного обеспечения, проинсталлировав или получив новый продукт от разработчика, не удосуживается проверить, из чего состоит система безопасности. Как следствие, пароль, установленный в фирме разработчике по умолчанию, остается основным паролем в системе. В сети Интернет можно найти огромные списки паролей по умолчанию практически ко всем версиям программного обеспечения, если они устанавливаются на нем производителем. Основные требования к информационной безопасности, основанные на анализе данного метода, следующие: 1. Вход всех пользователей в систему должен подтверждаться вводом уникального для клиента пароля. 2. Пароль должен тщательно подбираться так, чтобы его информационная емкость соответствовала максимально возможному времени перебора пароля. Для этого необходимо детально инструктировать клиентов о понятии "простой к подбору пароль", либо передать операцию выбора пароля в ведение инженера по безопасности. 3. Пароли по умолчанию должны быть сменены до официального запуска системы и даже до сколь либо публичных испытаний программного комплекса. Особенно это относится к сетевому программному обеспечению. 4. Все ошибочные попытки войти в систему должны учитываться, записываться в файл журнала событий и анализироваться через "разумный" промежуток времени. Если в системе предусмотрена возможность блокирования клиента либо всей системы после определенного количества неудачных попыток входа, этой возможностью необходимо воспользоваться. Если же Вы являетесь разработчиком системы безопасности, данную возможность, несомненно, необходимо предусмотреть, так как она является основным барьером к подбору паролей полным перебором. Разумно блокировать клиента после 3-й подряд неправильной попытки набора пароля, и, соответственно, блокировать систему после K = N*0.1*3+1 неудачных попыток входа за некоторый период (час, смену, сутки). В данной формуле N – среднее количество подключающихся за этот период к системе клиентов, 0.1 – 10%-ный предел "забывчивости пароля", 3 – те же самые три попытки на вспоминание пароля. Естественно, информация о блокировании клиента или системы должна автоматически поступать на пульт контроля за системой. 5. В момент отправки пакета подтверждения или отвержения пароля в системе должна быть установлена разумная задержка (2-5 секунд). Это не позволит злоумышленнику, попав на линию с хорошей связью до объекта атаки перебирать по сотне тысяч паролей за секунду. 6. Все действительные в системе пароли желательно проверять современными программами подбора паролей, либо оценивать лично администратору системы. 7. Через определенные промежутки времени необходима принудительная смена пароля у клиентов. Наиболее часто используемыми интервалами смены пароля являются год, месяц и неделя (в зависимости от уровня конфиденциальности информации и частоты входа в систему). 8. Все неиспользуемые в течение долгого времени имена регистрации должны переводиться в закрытое (недоступное для регистрации) состояние. Это относится к сотрудникам, находящимся в отпуске, на больничном, в командировке, а также к именам регистрации, созданным для тестов, испытаний системы и т.п. 9. От сотрудников и всех операторов терминала необходимо требовать строгое неразглашение паролей, отсутствие каких-либо взаимосвязей пароля с широкоизвестными фактами и данными, и отсутствие бумажных записей пароля "из-за плохой памяти". 3.8. Получение пароля на основе ошибок в реализации Следующей по частоте использования является методика получения паролей из самой системы. Однако, здесь уже нет возможности дать какие-либо общие рекомендации, поскольку все методы атаки зависят только от программной и аппаратной реализации конкретной системы. Основными двумя возможностями выяснения пароля являются несанкционированный доступ к носителю, содержащему их, либо использование недокументированных возможностей и ошибок в реализации системы. Первая группа методов основана на том, что любой системе приходится где-либо хранить подлинники паролей всех клиентов для того, чтобы сверять их в момент регистрации. При этом пароли могут храниться как в открытом текстовом виде, как это имеет место во многих клонах UNIX, так и представленные в виде малозначащих контрольных сумм (хеш-значений), как это реализовано в ОС Windows, Novell NetWare и многих других. Проблема в том, что в данном случае для хранения паролей на носителе не может быть использована основная методика защиты – шифрование. Действительно, если все пароли зашифрованы каким-либо ключом, то этот ключ тоже должен храниться в самой системе для того, чтобы она работала автоматически, не спрашивая каждый раз у администратора разрешение "Пускать или не пускать пользователя Anton, Larisa, Victor и т.д.?". Поэтому, получив доступ к подобной информации, злоумышленник может либо восстановить пароль в читабельном виде (что бывает довольно редко), либо отправлять запросы, подтвержденные данным хеш-значением, не раскодируя его. Все рекомендации по предотвращению хищений паролей состоят в проверке: не доступен ли файл с паролями, либо таблица в базе данных, хранящая эти пароли, кому-либо еще кроме администраторов системы, не создается ли системой резервных файлов, в местах доступных другим пользователям и т.п. В принципе, поскольку кража паролей является самым грубым вторжением в систему, разработчики уделяют ей довольно пристальное внимание, и соблюдения всех рекомендаций по использованию системы обычно достаточно для предотвращения подобных ситуаций. Получение доступа к паролям благодаря недокументированным возможностям систем встречается в настоящее время крайне редко. Ранее эта методика использовалась разработчиками намного чаще в основном в целях отладки, либо для экстренного восстановления работоспособности системы. Но постепенно, с развитием, как технологий обратной компиляции, так и информационной связанности мира она постепенно стала исчезать. Любые недокументированные возможности рано или поздно становятся известными, после чего новость об этом с головокружительной быстротой облетает мир и разработчикам приходится рассылать всем пользователям скомпрометированной системы "программные заплатки" либо новые версии программного продукта. Единственной мерой профилактики данного метода является постоянный поиск на серверах, посвященных компьютерной безопасности, объявлений обо всех неприятностях с программным обеспечением, установленным в Вашем учреждении. Для разработчиков же необходимо помнить, что любая подобная встроенная возможность может на порядок снизить общую безопасность системы, как бы хорошо она не была завуалирована в коде программного продукта. Следующей распространенной технологией получения паролей является копирование буфера клавиатуры в момент набора пароля на терминале. Этот метод используется редко, так для него необходим доступ к терминальной машине с возможностью запуска программ. Но если злоумышленник все-таки получает подобный доступ, действенность данного метода очень высока: 1. Работа программы-перехватчика паролей (так называемого "троянского коня") на рабочей станции незаметна. 2. Подобная программа сама может отправлять результаты работы на заранее заданные сервера или анонимным пользователям, что резко упрощает саму процедуру получения паролей хакером, и затрудняет поиск и доказательство его вины. У нас в России, например, широкое распространение получила подобная троянская программа, подписывающаяся к самораспаковывающимся архивам. Двумя основными методами борьбы с копированием паролей являются: 1. Адекватная защита рабочих станций от запуска сторонних программ: ◦ отключение сменных носителей информации; ◦ специальные драйвера, блокирующие запуск исполняемых файлов без ведома оператора, либо администратора; ◦ мониторы, уведомляющие о любых изменениях системных настроек и списка автоматически запускаемых программ. 2. Система единовременных паролей – очень мощная, но неудобная мера (при каждой регистрации в системе клиентам с очень высоким уровнем ответственности самой системой генерируется новый пароль). Сканирование современными антивирусными программами также может помочь в обнаружении "троянских" программ, но только тех из них, которые получили широкое распространение по стране. А, следовательно, программы, написанные злоумышленниками специально для атаки на Вашу систему, будут пропущены антивирусными программами без каких-либо сигналов. Следующий метод получения паролей относится только к сетевому программному обеспечению. Проблема заключается в том, что во многих программах не учитывается возможность перехвата любой информации, идущей по сети – так называемого сетевого трафика. Первоначально, с внедрением локальных компьютерных сетей так оно и было. Сеть располагалась в пределах 2-3 кабинетов, либо здания с ограниченным физическим доступом к кабелям. Однако, стремительное развитие глобальных сетей затребовало на общий рынок те же версии программного обеспечения без какого-либо промедления для усиления безопасности. Теперь мы пожинаем плоды этой тенденции. Более половины протоколов сети Интернет передают пароли в нешифрованном виде – открытым текстом. К ним относятся протоколы передачи электронной почты SMTP и POP3, протокол передачи файлов FTP, одна из схем авторизации на WWW-серверах. Современное аппаратное и программное обеспечение позволяет получать всю информацию, проходящую по сегменту сети, к которому подключен конкретный компьютер, и анализировать ее в реальном масштабе времени. Возможны несколько вариантов прослушивания трафика: 1) это может сделать служащий компании со своего рабочего компьютера; 2) злоумышленник, подключившийся к сегменту с помощью портативной ЭВМ или более мобильного устройства. 3) трафик, идущий от Вас к Вашему партнеру или в другой офис по сети Интернет, технически может прослушиваться со стороны Вашего непосредственного провайдера, со стороны любой организации, предоставляющей транспортные услуги для сети Интернет (переписка внутри страны в среднем идет через 3-4 компании, за пределы страны – через 5-8). Кроме того, если в должной мере будет реализовываться план СОРМ (система оперативно-розыскных мероприятий в компьютерных сетях), то возможно прослушивание и со стороны силовых ведомств страны. Для комплексной защиты от подобной возможности кражи паролей необходимо выполнять следующие меры: 1. Физический доступ к сетевым кабелям должен соответствовать уровню доступа к информации. 2. При определении топологии сети следует при любых возможностях избегать широковещательных топологий. Оптимальной единицей сегментирования является группа операторов с равными правами доступа, либо если эта группа составляет более 10 человек, то комната или отдел внутри группы. Ни в коем случае на одном кабеле не должны находиться операторы с разными уровнями доступа, если только весь передаваемый трафик не шифруется, а идентификация не производится по скрытой схеме без открытой передачи пароля. Ко всем информационным потокам, выходящим за пределы фирмы, должны применяться те же правила, что и только что описанные выше для объединения разноуровневых терминалов. 3.9. Социальная психология и иные способы получения паролей Краткий обзор еще нескольких довольно часто встречающихся методов. Звонок администратору – злоумышленник выбирает из списка сотрудников того, кто не использовал пароль для входа в течение нескольких дней (отпуск, отгулы, командировка) и кого администратор не знает по голосу. Затем следует звонок с объяснением ситуации о забытом пароле, искренние извинения, просьба зачитать пароль, либо сменить его на новый. Больше чем в половине случаев просьба будет удовлетворена, а факт подмены будет замечен либо с первой неудачной попыткой зарегистрироваться истинного сотрудника, либо по произведенному злоумышленником ущербу. Почти такая же схема, но в обратную сторону может быть разыграна злоумышленником в адрес сотрудника фирмы – звонок от администратора. В этом случае он представляется уже сотрудником службы информационной безопасности и просит назвать пароль либо из-за произошедшего сбоя в базе данных, либо якобы для подтверждения личности самого сотрудника по какой-либо причине (рассылка особо важных новостей), либо по поводу последнего подключения сотрудника к какому-либо информационному серверу внутри фирмы. Фантазия в этом случае может придумывать самые правдоподобные причины, по которым сотруднику "просто необходимо" вслух назвать пароль. Самое неприятное в этой схеме то, что если причина запроса пароля придумана, что называется "с умом", то сотрудник повторно позвонит в службу информационной безопасности только через неделю, месяц, если вообще это произойдет. Кроме того, данная схема может быть проведена и без телефонного звонка – по электронной почте, что неоднократно и исполнялось якобы от имени почтовых и Web-серверов в сети Интернет. Оба данных метода относятся к группе "атака по социальной психологии" и могут принимать самые разные формы. Их профилактикой может быть только тщательное разъяснение всем сотрудникам, в особо важных случаях введение административных мер и особого регламента запроса и смены пароля. Необходимо тщательно инструктировать сотрудников об опасности оставления рабочих станций, не закрытых паролем. В первую очередь это, конечно, относится к терминалам, работающим в публичных местах и офисах с более низким уровнем доступа к информации, однако, и при работе в помещениях с равным уровнем доступа не рекомендуется давать возможность сотрудникам работать за другими ЭВМ тем более в отсутствие владельца. В качестве программных профилактических мер используются экранные заставки с паролем, появляющиеся через 5-10 минут отсутствия рабочей активности, автоматическое отключение сервером клиента через такой же промежуток времени. От сотрудников должны требоваться разрегистрация как на серверах, так и на рабочих станциях при выключении ЭВМ, либо закрытие их паролем при оставлении без присмотра. Большое внимание следует уделять любым носителям информации, покидающим пределы фирмы. Наиболее частыми причинами этого бывают ремонт аппаратуры и списание технологически устаревшей техники. Необходимо помнить, что на рабочих поверхностях носителей даже в удаленных областях находится информация, которая может представлять либо непосредственный интерес, либо косвенно послужить причиной вторжения в систему. Так, например, при использовании виртуальной памяти часть содержимого ОЗУ записывается на жесткий диск, что теоретически может привезти даже к сохранению пароля на постоянном носителе (хотя это и маловероятно). Ремонт, производимый сторонними фирмами на месте, должен производится под контролем инженера из службы информационной безопасности. Необходимо помнить, что при нынешнем быстродействии ЭВМ копирование файлов производится со скоростью десятки и сотни мегабайт в секунду, а установить второй жесткий диск для копирования в момент ремонта без надзора специалиста можно практически незаметно. Все носители информации, покидающие фирму должны надежно чиститься либо уничтожаться механически (в зависимости от дальнейших целей их использования). Немного слов о защищенности самих носителей информации. На сегодняшний день не существует разумных по критерию "цена/надежность" носителей информации, не доступных к взлому. Строение файлов, их заголовки и расположение в любой операционной системе может быть прочитано при использовании соответствующего программного обеспечения. Практически невскрываемым может быть только энергонезависимый носитель, автоматически разрушающий информацию при попытке несанкционированного подключения к любым точкам, кроме разрешенных разъемов, желательно саморазрушающийся при разгерметизации, имеющий внутри микропроцессор, анализирующий пароль по схеме без открытой передачи. Однако, все это из области "сумасшедших" цен и военных технологий. Для бизнес-класса и частной переписки данная проблема решается гораздо проще и дешевле – с помощью криптографии. Любой объем информации от байта до гигабайта, будучи зашифрован с помощью более или менее стойкой криптосистемы, недоступен для прочтения без знания ключа. И уже совершенно не важно, хранится он на жестком диске, на дискете или компакт-диске, не важно под управлением какой операционной системы. Против самых новейших технологий и миллионных расходов здесь стоит математика, и этот барьер до сих пор невозможно преодолеть. Вот почему силовые ведомства практически всех стран, будучи не в состоянии противостоять законам математики, применяют административные меры против так называемой «стойкой криптографии». Вот почему ее использование частными и юридическими лицами без лицензии Федерального агенства правительственной связи и информации (ФАПСИ) или Главного управления безопасности связи (ГУБС) Федеральной службы безопасности (ФСБ) (ныне это Центр ФСБ по лицензированию, сертификации и защите государственной тайны) запрещено и у нас в России. 3.10. Наиболее распространенные заблуждения В последнее время все больше проводится семинаров и конференций, посвященных вопросам защиты информации. Присутствующие на них профессионалы пытаются убедить сотрудников и руководителей отделов защиты информации различных банков, нефтяных компаний и других организаций приобрести те или иные средства защиты. Большинство выступлений посвящено либо продвижению определенного продукта (решения), либо теоретическим вопросам, далеким от специалистов-практиков. Однако, самое интересное на таких конференциях, независимо от их тематики, происходит в кулуарах. Именно там представители заказчиков и исполнителей живо обсуждают наболевшие темы. И, несмотря на активное освещение темы защиты информации в прессе, некоторые мифы продолжают жить. Если вы сами не раз говорили следующие слова или слышали их из уст своих начальников, то будьте уверены: в системе защиты вашей организации — очень большая прореха. 3.10.1. Мифы об информационной безопасности • "Усиление защиты укажет хакерам направление приложения их сил". Действительно, не стоит на каждом углу кричать об используемых в сети средствах защиты и настройках защитных механизмов. Но и не ставить преграды для хакеров тоже неразумно: отсутствие защиты сделает им доступ в сеть полностью беспрепятственным. • "Закрывать существующие лазейки в защите слишком дорого и трудно". Как показывает опыт и статистика, стоимость восстановления информации и ИТ-ресурсов после атак намного превосходит стоимость даже самых дорогих средств защиты. С другой стороны, не обязательно тратить деньги на средства поиска уязвимостей, такие, как Internet Scanner. Все, что нужно для устранения дыр, это подписаться на списки рассылки или ежедневно проверять новости серверов, публикующих информацию об обнаруженных дырах, — CERT, X-Force, SecurityFocus и т. д. Автоматизировать эту работу можно и, не тратя больших средств, достаточно использовать, например, бесплатный сканер Nessus. • "У нас никогда не было проблем с безопасностью!" Если их не было, еще не значит, что их и не будет. И хотя отечественные потребители живут согласно русской поговорке "пока гром не грянет, мужик не перекрестится", все же лучше следовать другому постулату: "Пожар легче предупредить, чем ликвидировать". Разумнее выделить некоторую сумму на построение системы защиты, чем в десятки и сотни раз больше потратить потом на ликвидацию ущерба от реализованной атаки. • "Наша информация не нужна никому, кроме нас". Это очень распространенное заблуждение. Но хакеры совершают свои действия не только из-за денег, но и по другим причинам — из любопытства, шутки ради, по политическим или идеологическим мотивам. Кроме того, примечателен пример с распределенными атаками "отказ в обслуживании" в феврале 2000 г. Тогда многие известные серверы (CNN.com, ZDNet.com, Amazon.com и т. д.) "легли" в результате атак, одновременно направляемых с нескольких тысяч узлов Интернета. При этом атакующие компьютеры принадлежали ничего не подозревавшим пользователям и организациям, проигнорировавшим рекомендации специалистов по защите информации. Эти машины использовались как промежуточные узлы для реализации несанкционированных действий. Однако это не снимает ответственности с компаний, чьи компьютеры были "зомбированы". Тем более что в российском уголовном кодексе имеется статья 274, определяющая наказание за неправильную эксплуатацию средств вычислительной техники. • "Мы открыты для сотрудничества, и применение средств защиты влечет за собой исчезновение доверия, которое наша компания стремится расширять". Да, вы правы, но открытость должна быть разумной. Современные средства защиты информации позволят найти компромисс между защищенностью вашей сети и ее доступностью для заказчиков. Помните, что, став жертвой хакеров, вы можете тем самым отпугнуть имеющихся и потенциальных клиентов. • "Чем менее известна система защиты, тем лучше она защищает". К сожалению, это заблуждение приходилось слышать и от представителей российских компаний, предлагающих свои решения по защите информации. 3.10.2. Мифы о хакерах • "Хакеры — это высококвалифицированные люди, и их усилий не хватит на всех". С одной стороны, это утверждение верно. Но с другой... Если вспомнить, что сейчас хакерами называют всех, кто может запустить WinNuke на своего соседа, то это утверждение не кажется безупречным. Огромная категория пользователей, называющих себя настоящими хакерами, таковыми не является. Для них даже придуман специальный термин "script kiddies", что означает любителей, использующих готовые средства реализации атак, не понимая сути их действия. Получив какую-либо программу для взлома, они сразу задают в ней адрес своего друга, насолившего им соседа или просто случайного компьютера и приводят ее в действие. Если видимого результата нет, то они переходят к следующему адресу и т. д. А вреда такие "специалисты" могут нанести ничуть не меньше квалифицированных хакеров. • "Хакеры всемогущи!" Еще один распространенный миф. Хакеры — такие же люди, как и мы с вами. Только их энергия направлена на другие цели. Абсолютное большинство атак осуществляют злоумышленники, менее квалифицированные, чем вы. Но если в дело вступит "хакер-эксперт", то считайте, что вам не повезло. • "Основная опасность исходит снаружи, из Интернета". Этот миф культивируется средствами массовой информации, особенно телевидением. Однако попробуйте представить, что вы попали в трущобы Пекина и вам необходимо добраться до ближайшего аэропорта. Не зная ни языка, ни города, сделать это нелегко. Так же и внешний злоумышленник, попав в вашу сеть, будет, как слепой котенок, тыкаться во все углы, выискивая, чем бы поживиться. Анализ ситуации вторжения хакеров в корпоративные сети показывает, что они либо подменяли главную страницу (deface) Web-сервера, либо здесь не обходилось без вмешательства сотрудников самой организации. Только такой симбиоз позволяет хакеру быстро найти самые ценные и важные ресурсы корпоративной сети и украсть их. • "Хакеры всегда на шаг впереди средств защиты, и поэтому защищаться бессмысленно". Это не совсем корректное утверждение. Специалисты по защите информации также исследуют различное программно-аппаратное обеспечение, стремясь обнаружить дыры и залатать их до того, как они станут известны. В качестве примера можно назвать преемника известного списка рассылки Bugtraq — сервер SecurityFocus (www.securityfocus.com), на котором ежедневно публикуются сообщения со всего мира о найденных экспертами новых уязвимостях и способах их устранения, или группу X-Force (xforce.iss.net), или CERT (www.cert.org). Кроме того, многие производители средств защиты своевременно поставляют новые заплаты к своим программным решениям. Существуют и специализированные компании — скажем, Internet Security Systems (www.iss.net) разрабатывает специализированные средства, предназначенные для поиска дыр в программном обеспечении. • "Нас взломали на прошлой неделе, и больше хакеры не вернутся!" Не обольщайтесь. Не вернутся эти, так придут другие. Ведь хакерских групп и хакеров-одиночек достаточно для того, чтобы они могли случайно или намеренно набрести именно на вашу компанию и взломать сеть или заменить главную страницу сайта. Это не такая уж редкость. Известны случаи, когда сеть компании взламывали повторно, оставляя сообщение вроде такого: "Умные администраторы учатся на чужих ошибках, а глупые — на своих". Например, на сайт www.parliament.ru вторгались неоднократно. В последний раз на его главной странице хакеры оставили запись: "Мы вас ломаем уже второй раз за эту неделю. Поставьте же, наконец, обновленное программное обеспечение...". • "Зачем защищаться, если хакеры все равно могут нас взломать?" Поставив перед собой цель взломать вашу сеть, рано или поздно хакер добьется своего (разумеется, при наличии соответствующих ресурсов и квалификации). Ну а если это потребует огромного напряжения от него? Защитные средства делают усилия хакеров бесполезными или настолько затратными, что они теряют интерес к вашей сети. Когда речь идет о краже информации с целью ее последующей продажи, то вряд ли хакер потратит на проникновение в сеть больше средств, чем он получит от продажи украденных данных. 3.10.3. Мифы о средствах защиты • "Защитные механизмы слишком неудобны и вызывают только раздражение". Только приверженец командной строки Unix может говорить такие вещи. Уже прошли те времена, когда управление средствами защиты осуществлялось путем редактирования конфигурационных файлов. Современные средства обладают удобным графическим интерфейсом, что значительно облегчает их контроль, управление и интеграцию в единую ИТ-инфраструктуру компании. Кроме того, при правильной реализации защитные механизмы становятся абсолютно прозрачными для конечных пользователей. • "Межсетевой экран — вот панацея от всех бед". Этот миф постепенно развеивается, но иногда все же такое утверждение проскакивает у некоторых сотрудников отделов защиты информации, особенно у отставников силовых ведомств, всю жизнь занимавшихся вневедомственной охраной и волею судеб попавших на ниву информационной безопасности. Межсетевой экран — это просто ограждение вокруг вашей сети. Оно может быть очень высоким или толстым, чтобы через него нельзя было перелезть или проделать в нем дыру. Но он не поможет, если кто-то сделает под ним подкоп или попытается пройти по мостику, переброшенному через ограждение. Межсетевой экран просто ограничивает доступ к некоторым точкам за вашим ограждением. • "Такая-то технология поможет защититься от всех напастей". Это более широкое толкование предыдущего мифа. Никакая, даже самая лучшая на данный момент технология не совершенна и не может защитить от постоянно возникающих угроз. Лишь создание комплексной системы защиты информации, учитывающей не только технические, но и организационные меры, сделает корпоративную сеть неприступной для хакеров. ====================================================================================== ВОПРОСЫ: 1. Конкурентная разведка 2. Комплексный поиск возможных методов доступа 3. Виды и природа каналов утечки информации при эксплуатации ЭВМ 4. Методы и средства для несанкционированного получения информации из автоматизированных систем 5. Терминалы защищенной информационной системы 6. Несанкционированное получение информации при наличии физического доступа к автоматизированных системам 7. Получение пароля на основе ошибок администратора и пользователей 8. Получение пароля на основе ошибок в реализации 9. Социальная психология и иные способы получения паролей 10. Наиболее распространенные заблуждения 4. Криптология 4.1 Основы криптологии Испокон веков не было ценности большей, чем информация. В ХХ веке началась массовая информатизация общества. Технология дает возможность передавать и хранить все большие объемы информации. Это благо имеет и оборотную сторону. Информация становится все более уязвимой по разным причинам: • возрастающие объемы хранимых и передаваемых данных; • расширение круга пользователей, имеющих доступ к ресурсам ЭВМ, программам и данным; • усложнение режимов эксплуатации вычислительных систем. Поэтому все большую важность приобретает проблема защиты информации от несанкционированного доступа (НСД) при передаче и хранении. Сущность этой проблемы – постоянная борьба специалистов по защите информации со своими "оппонентами". Защита информации – совокупность мероприятий, методов и средств, обеспечивающих: • исключение НСД к ресурсам ЭВМ, программам и данным; • проверку целостности информации; • исключение несанкционированного использования программ (защита программ от копирования). Очевидная тенденция к переходу на цифровые методы передачи и хранения информации позволяет применять унифицированные методы и алгоритмы для защиты дискретной (текст, факс, телекс) и непрерывной (речь) информации. Испытанный метод защиты информации от НСД – шифрование (криптография). Шифрованием (encryption) называют процесс преобразования открытых данных (plaintext) в зашифрованные (шифртекст, ciphertext) или зашифрованных данных в открытые по определенным правилам с применением ключей. В англоязычной литературе зашифрование/расшифрование – enciphering/deciphering. С помощью криптографических методов возможно: • шифрование информации; • реализация электронной подписи; • распределение ключей шифрования; • защита от случайного или умышленного изменения информации. Сама криптография не является высшей ступенью классификации смежных с ней дисциплин. Наоборот, криптография совместно с криптоанализом (целью которого является противостояние методам криптографии) составляют комплексную науку – криптологию. Криптография – это наука о том, как обеспечить секретность сообщения. Криптоанализ – это наука о том, как вскрыть шифрованное сообщение, то есть – как извлечь открытый текст, не зная ключа. Криптографией занимаются криптографы, а криптоанализом занимаются криптоаналитики. Криптология – область знаний, изучающая тайнопись (криптография) и методы ее раскрытия (криптоанализ). Более конкретно: криптология – это раздел математики, изучающий математические основы криптографических методов. Криптография покрывает все практические аспекты секретного обмена сообщениями, включая аутенфикацию, цифровые подписи, электронные деньги и многое другое. Необходимо отметить, что в русскоязычных текстах по данному предмету встречаются различные употребления основных терминов, таких как "криптография", "тайнопись" и некоторых других. Более того, и по классификации криптоалгоритмов можно встретить различные мнения. Известен такой способ засекречивания письменного сообщения как стеганография — набор средств и методов сокрытия факта передачи секретного сообщения. Такой приём правильнее назвать маскировкой информации. Стеганография скрывает сам факт передачи сообщения, а криптография считает, что сообщение (в шифрованном виде) доступно незаконному пользователю, но он не может извлечь из этого сообщения защищаемую информацию. До недавнего времени все исследования в этой области были только закрытыми, но в посление несколько лет у нас и за рубежом стало появляться всё больше публикаций в открытой печати. Отчасти смягчение секретности объясняется тем, что стало уже невозможным скрывать накопленное количество информации. С другой стороны, криптография всё больше используется в гражданских отраслях, что требует раскрытия сведений. 4.1.1. Принципы криптографии Цель криптографической системы заключается в том, чтобы зашифровать осмысленный исходный текст (также называемый открытым текстом), получив в результате совершенно бессмысленный, на первый взгляд, шифрованный текст (шифртекст, криптограмма). Получатель, которому он предназначен, должен быть способен расшифровать (говорят также "дешифровать") этот шифртекст, восстановив, таким образом, соответствующий ему открытый текст. При этом противник (называемый также криптоаналитиком) должен быть неспособен раскрыть исходный текст. Существует важное отличие между расшифрованием (дешифрованием) и раскрытием шифртекста. Раскрытием криптосистемы называется результат работы криптоаналитика, приводящий к возможности эффективного раскрытия любого, зашифрованного с помощью данной криптосистемы, открытого текста. Степень неспособности криптосистемы к раскрытию называется ее стойкостью. Вопрос надёжности систем ЗИ – очень сложный. Дело в том, что не существует надёжных тестов, позволяющих убедиться в том, что информация защищена достаточно надёжно. Во-первых, криптография обладает той особенностью, что на "вскрытие" шифра зачастую нужно затратить на несколько порядков больше средств, чем на его создание. Следовательно, тестовые испытания системы криптозащиты не всегда возможны. Во-вторых, многократные неудачные попытки преодоления защиты вовсе не означают, что следующая попытка не окажется успешной. Не исключён случай, когда профессионалы долго, но безуспешно бились над шифром, а некий новичок применил нестандартный подход – и шифр дался ему легко. В результате такой плохой доказуемости надёжности средств ЗИ на рынке очень много продуктов, о надёжности которых невозможно достоверно судить. Естественно, их разработчики расхваливают на все лады своё произведение, но доказать его качество не могут, а часто это и невозможно в принципе. Как правило, недоказуемость надёжности сопровождается ещё и тем, что алгоритм шифрования держится в секрете. На первый взгляд, секретность алгоритма служит дополнительному обеспечению надёжности шифра. Это аргумент, рассчитанный на дилетантов. На самом деле, если алгоритм известен разработчикам, он уже не может считаться секретным, если только пользователь и разработчик – не одно лицо. К тому же, если вследствие некомпетентности или ошибок разработчика алгоритм оказался нестойким, его секретность не позволит проверить его независимым экспертам. Нестойкость алгоритма обнаружится только, когда он будет уже взломан, а то и вообще не обнаружится, ибо противник не спешит хвастаться своими успехами. Поэтому криптограф должен руководствоваться правилом – стойкость шифра должна определяться только секретностью ключа – впервые сформулированным голландским офицером Керкхоффом (A. Kerckhoffs – Огюст Керкхофф (1835 – 1903 гг.). Ему принадлежит замечательное "правило Керкхоффа": стойкость шифра должна определяться ТОЛЬКО секретностью ключа. Учитывая время, когда это правило было сформулировано, его можно признать величайшим открытием (до создания систематической теории еще более полувека!). Это правило полагает, что АЛГОРИТМ шифрования НЕ ЯВЛЯЕТСЯ СЕКРЕТНЫМ, а значит, можно вести открытое обсуждение достоинств и недостатков алгоритма. Таким образом, это правило переводит работы по криптологии в разряд ОТКРЫТЫХ научных работ, допускающих дискуссии, публикации и т. п.). Иными словами, правило Керкхоффа состоит в том, что весь механизм шифрования, кроме значения секретного ключа априори считается известным противнику. К алгоритмам шифрования предъявляются определенные требования: • высокий уровень защиты данных против дешифрования и возможной модификации; • защищенность информации должна основываться только на знании ключа и не зависеть от того, известен алгоритм или нет (правило Керкхоффа); • малое изменение исходного текста или ключа должно приводить к значительному изменению шифрованного текста (эффект "обвала"); • область значений ключа должна исключать возможность дешифрования данных путем перебора значений ключа; • экономичность реализации алгоритма при достаточном быстродействии; • стоимость дешифрования данных без знания ключа должна превышать стоимость данных. 4.1.2. Исторический экскурс Криптология – древняя наука и обычно это подчеркивают рассказом о Юлии Цезаре (100 – 44 гг. до н. э.), переписка которого с Цицероном (106 – 43 гг. до н. э.) и другими "абонентами" в Древнем Риме шифровалась. Шифр Цезаря, иначе шифр циклических подстановок, состоит в замене каждой буквы в сообщении буквой алфавита, отстоящей от нее на фиксированное число букв. Алфавит считается циклическим, то есть после Z следует A. Цезарь заменял букву буквой, отстоящей от исходной на три. История криптографии также насчитывает несколько тысяч лет. Потребность скрывать написанное появилась у человека почти сразу, как только он научился писать. По некоторым теориям, сам язык возник не тогда, когда появилась потребность общаться (передавать информацию можно и так), а именно тогда, когда древние люди захотели соврать, то есть, скрыть свои мысли. Долгое время занятие криптографией было уделом одиночек. Среди них были одаренные ученые, дипломаты и священнослужители. Известны случаи, когда криптографию считали даже черной магией. Этот период развития криптографии, как искусства, длился с незапамятных времен до начала XX века, когда появились первые шифровальные машины. Понимание математического характера решаемых криптографических задач пришло только в середине XX века, после работ выдающегося американского ученого К. Шеннона. Свой след в истории криптографии оставили многие хорошо известные исторические личности. Первые сведения об использовании шифров в военном деле связаны с именем спартанского полководца Лисандра (шифр “Сциталь”, V век д.н.э). Этот шифр известен со времен войны Спарты и Персии против Афин. Спартанский полководец Лисандр подозревал персов в измене, но не знал их тайных планов. Его агент в стане персов прислал шифрованное сообщение, которое позволило Лисандру опередить персов и разгромить их. Шифрованное сообщение было написано на поясе официального гонца от персов следующим образом: агент намотал пояс на сциталь (деревянный цилиндр определенного диаметра) и написал на поясе сообщение вдоль сциталя; потом он размотал пояс, и получилось, что поперек пояса в беспорядке написаны буквы. Гонец не догадался, что узор на его красивом поясе на самом деле содержит зашифрованную информацию. Лисандр взял сциталь такого же диаметра, аккуратно намотал на него пояс и вдоль сциталя прочитал сообщение от своего агента. Отметим, что в этом шифре преобразование открытого текста в шифрованный заключается в определенной перестановке букв открытого текста. Поэтому класс шифров, к которым относится и шифр “Сциталь”, — это перестановочные шифры. Широко известным историческим примером криптосистемы является так называемый “шифр Цезаря”. Он основан на замене каждой буквы сообщения на другую букву того же алфавита, путем смещения от исходной буквы на K букв (с циклическим переносом, когда это необходимо). Например, "A" заменялась на "D", "B" на "E", "Z" на "C" и т.д. Поэтому класс шифров, к которым относится и шифр Цезаря, — это подстановочные шифры. Отметим, что Цезарь (как считается) заменял букву третьей после нее буквой, но можно заменять и пятой, и любой другой. Главное, чтобы тот, кому посылается шифрованное сообщение, знал эту величину сдвига. В древней Греции был изобретен вид шифра, который в дальнейшем назывался “Квадрат Полития”. Братство франкмасонов с момента своего возникновения (VIII век) разработало и использовало целую систему особых шифров. Так называемая "донаучная" криптография более чем за две тысячи лет полуинтуитивно "нащупала" довольно много интересных решений. Простейшее действие – выполнить подстановку не в алфавитном порядке. Неплохо также переставить символы в сообщении местами (шифры перестановок). Первым систематическим трудом по криптографии принято считать работу великого архитектора Леона Баттиста Альберти (1404 – 1472 гг.). Период до середины XVII века уже насыщен работами по криптографии и криптоанализу. Интриги вокруг шифрограмм в Европе того времени удивительно интересны. Одну из первых книг по криптографии написал аббат И. Тритемий (1462 – 1516 гг.) живший в Германии. В 1566 г. известный механик и математик Д. Кардано опубликовал работу с описанием изобретенной им системы шифрования (“решетка Кардано”). Франсуа Виет (1540 – 1603 гг.) при дворе короля Франции Генриха IV так успешно занимался криптоанализом (тогда еще не носившим этого гордого названия), что испанский король Филипп II жаловался Папе Римскому на применение французами черной магии. Но все обошлось без кровопролития – при дворе Папы в это время уже служили советники из семейства Ардженти, которых мы сегодня назвали бы криптоаналитиками. Франция XVI века оставила в истории криптографии шифры короля Генриха IV и Ришелье. В России наиболее известным шифром является “цифровая азбука” 1700 года, автором которой был Петр I. Можно утверждать, что на протяжении веков дешифрованию криптограмм помогает частотный анализ появления отдельных символов и их сочетаний. Вероятности появления отдельных букв в тексте сильно разнятся (для русского языка, например, буква "о" появляется в 45 раз чаще буквы "ф"). Это, с одной стороны, служит основой, как для раскрытия ключей, так и для анализа алгоритмов шифрования, а с другой – является причиной значительной избыточности (в информационном смысле) текста на естественном языке. Любая простая подстановка не позволяет спрятать частоту появления символа – как шило из мешка торчат в русском тексте символы, соответствующие буквам "о", "е", "а", "и", "т", "н". Но теория информации и мера избыточности еще не созданы, и для борьбы с врагом криптографа – частотным анализом – предлагается РАНДОМИЗАЦИЯ. Ее автор Карл Фридрих Гаусс (1777 –  1855 гг.) ошибочно полагал, что создал нераскрываемый шифр. Несмотря на значительные успехи математики за века, прошедшие со времён Цезаря, тайнопись вплоть до середины ХХ века не сделала существенных шагов вперёд. В ней бытовал дилетантский, умозрительный, ненаучный подход. Например, шифр Виженера. Этот шифр относится к семейству полиалфавитных подстановочных шифров. Его удобнее всего представить, как шифр Цезаря с переменной величиной сдвига. Чтобы знать, на сколько сдвигать очередную букву открытого текста, заранее оговаривается способ запоминания сдвигов. Для этой цели используется ключевое слово, каждая буква которого своим номером в алфавите указывает величину сдвига. Ключевое слово повторяется столько раз, сколько нужно для замены всех букв открытого текста. Например, если ключевое слово ВАЗА, а открытый текст — КРИПТОГРАФИЯ, значит, ключевое слово даст следующую последовательность сдвигов букв открытого текста 319131913191. При таком способе шифрования открытый текст преобразуется в шифротекст НССРХПЛСГХСА. Последнее имя, которое мы назовем в донаучной криптологии, – инженер AT&T Жильбер Вернам (G.S. Vernam). В 1926 году он предложил действительно нераскрываемый шифр. Идея шифра состоит в том, чтобы в уравнении y = x + z (mod N) для каждого следующего символа выбирать новое значение z. Другими словами, секретный ключ должен использоваться только один раз. Если такой ключ выбирается случайным образом, то, как было строго доказано Шенноном через 23 года, шифр является нераскрываемым. Этот шифр является теоретическим обоснованием для использования так называемых "шифроблокнотов", широкое применение которых началось в годы второй мировой войны. Шифроблокнот содержит множество ключей однократного использования, последовательно выбираемых при шифровании сообщений. Предложение Вернама, однако, не решает задачи секретной связи: вместо способа передачи секретного сообщения теперь необходимо найти способ передачи секретного ключа, РАВНОГО ему ПО ДЛИНЕ, т.е. содержащего столько же символов, сколько имеется в открытом тексте. Дальнейшее развитие идеи ключевого слова, а именно идея запоминать способ преобразования открытого текста с помощью какой-либо книги, привело к возникновению различных видов так называемых книжных шифров, широко применявшиеся профессионалами в ХХ веке, в которых в качестве ключа использовалось какое-либо массовое печатное издание. Надо ли говорить, как легко раскрывались подобные шифры! Конечно, с теоретической точки зрения, "книжный" шифр выглядит достаточно надёжным, поскольку множество его ключей – множество всех страниц всех доступных двум сторонам книг, перебрать которое вручную невозможно. Однако, малейшая априорная информация резко суживает этот выбор. Кстати, об априорной информации. Немецкая радиоразведка против СССР во время второй мировой войны в стратегическом отношении была малоэффективна и не имела какого-либо существенного успеха. Когда Гитлер принял решение напасть на Советский Союз в 1940 году, у немцев на Востоке не было никаких технических средств для ведения радиоразведки. Спустя год, когда он начал войну с СССР, созданная с нуля немецкая служба перехвата уже приступила к добыванию информации о советских войсках. В результате материалы радиоразведки составляли для Германии основную массу (90%) всех разведданных о ходе военных действий на Восточном фронте. Во время Великой Отечественной войны, как известно, у нас уделяли значительное внимание организации партизанского движения. Почти каждый отряд в тылу врага имел радиостанцию, а также то или иное сообщение с "большой землёй". Имевшиеся у партизан шифры были крайне нестойкими – немецкие дешифровщики "раскалывали" их достаточно быстро. А это, как известно, выливается в боевые поражения и потери. Партизаны оказались хитры и изобретательны и в этой области тоже. Приём был предельно прост. В исходном тексте сообщения делалось большое количество грамматических ошибок, например, писали: "прошсли тры эшшелона з тнками". При верной расшифровке для русского человека всё было понятно. Но криптоаналитики противника перед подобным приёмом оказались бессильны: перебирая возможные варианты, они встречали невозможное для русского языка сочетание "тнк" и отбрасывали данный вариант как заведомо неверный. Этот, казалось бы, доморощенный приём, на самом деле, очень эффективен и часто применяется даже сейчас. В исходный текст сообщения подставляются случайные последовательности символов, чтобы сбить с толку криптоаналитические программы, работающие методом перебора или изменить статистические закономерности шифрограммы, которые также могут дать полезную информацию противнику. Но в целом всё же можно сказать, что довоенная криптография была крайне слаба и на звание серьёзной науки не тянула. Однако жёстокая военная необходимость вскоре заставила учёных вплотную заняться проблемами криптографии и криптоанализа. Одним из первых существенных достижений в этой области была немецкая пишущая машинка "Энигма", которая фактически являлась механическим шифратором и дешифратором с достаточно высокой стойкостью. С самого начала войны криптоаналитики НКГБ и ГРУ бились над вскрытием кода немецкой шифровальной машины “Энигма”. Сам факт, что англичане получали информацию благодаря чтению немецкой шифропереписки, вселял в советских криптоаналитиков надежду, что и им удастся добиться того же. Немецкая армия, флот, авиация — все пользовались шифромашинками “Энигма”, применяя различные ключи для различных целей в различных местах и в различное время. Начиная с 1941 года, в использовании одновременно находились не менее 50 различных ключей “Энигмы”, причем все они ежедневно менялись. 17 января 1943 года, еще до разгрома под Сталинградом, управление связи вермахта пришло к выводу о вскрытии “Энигмы” советскими криптоаналитиками. Захват шифромашин, ключей к ним и связистов-шифровальщиков позволял радиоразведке СССР читать шифроперехват из немецких линий связи. В распоряжении окруженных под Сталинградом немецких войск было как минимум 26 шифровальных машин “Энигма”, а в условиях окружения многие из них уничтожить было просто невозможно. Вместе с ними в руки Красной Армии попали и некоторые ключевые установки. Не менее важным оказалось и то, что среди военнопленных были и связисты, и шифровальщики. Тогда же, в период второй мировой войны появились и первые профессиональные службы дешифровки. Самая извесная из них – "Блечли-парк" – подразделение английской службы разведки "МИ-5". Широко известные названия "МИ-5" (MI5 — Security Service — служба безопасности или контрразведка) и "МИ-6" (MI6 — Secret Intelligence Service (SIS) — занимается внешней разведкой) имеют исторические корни. Дело в том, что поначалу они были структурными подразделениями военной разведки (MI — Military Intelligence). Затем, в преддверии Второй мировой войны, их задачи резко расширились и стали выходить за рамки одной лишь военной разведки. Впоследствии обе спецслужбы выделились в самостоятельные подразделения и получили современые названия, но часто их по-прежнему называют – "МИ-5" и "МИ-6". Результаты криптографических исследований реализуются сейчас в виде шифрующих устройств, встроенных в современные системы связи. Поэтому криптографы ограничены в выборе средств тем уровнем техники и технологии, который достигнут на данный момент. Такая зависимость отражается и на выборе используемого в криптографии математического аппарата. Условно можно выделить три принципиально разных этапа в развитии математического аппарата криптографии. До 40-х годов XX века применялись только электромеханические шифромашины, поэтому и спектр математических преобразований был ограничен, в основном, методами комбинаторного анализа и теории вероятностей. После появления электронной техники, а тем более компьютеров, сильно изменился и математический аппарат криптографии. Получили развитие прикладные идеи и методы теории информации, алгебры, теории конечных автоматов. Работы Диффи и Хеллмана (70-е годы) послужили толчком для бурного развития новых направлений математики: теории односторонних функций, доказательств с нулевым разглашением. В наше время прогресс именно в этих направлениях определяет практические возможности криптографии. Однако для того, чтобы криптографические методы преобразования обеспечили эффективную защиту информации, они должны удовлетворять ряду требований. В сжатом виде их можно сформулировать следующим образом: • Сложность и стойкость криптографического закрытия должны выбираться в зависимости от объема и степени секретности данных. • Надежность закрытия должна быть такой, чтобы секретность не нарушалась в том случае, когда злоумышленнику становится известен метод закрытия. • Метод закрытия, набор используемых ключей и механизм их распределения не могут быть слишком сложными. • Выполнение процедур прямого и обратного преобразований должно быть формализованным, и эти процедуры не должны зависеть от длины сообщений. • Ошибки, возникающие в процессе выполнения преобразования, не должны распространяться на текст в полной мере и по системе. • Вносимая процедурами защиты избыточность должна быть минимальной. 4.2 Классификация криптографических методов В настоящее время не существует законченной и общепринятой классификации криптографических методов, так как многие из них находятся в стадии развития и становления. Наиболее целесообразной представляется классификация, представленная на рис. 1. Под шифрованием в данном случае понимается такой вид криптографического закрытия, при котором преобразованию подвергается каждый символ защищаемого сообщения. Все известные способы шифрования разбиты на пять групп: подстановка (замена), перестановка, аналитическое преобразование, гаммирование и комбинированное шифрование. Каждый из этих способов может иметь несколько разновидностей. Рис. 1. Классификация криптографических методов В наиболее простом методе подстановки (замены) символы шифруемого текста заменяются другими символами, взятыми из одного (моноалфавитная подстановка) или нескольких (полиалфавитная подстановка) алфавитов. Самой простой разновидностью является прямая замена, когда буквы шифруемого текста заменяются другими буквами того же самого или некоторого другого алфавита. Если объем зашифрованного текста большой, то частоты появления букв в зашифрованном тексте будут ближе к частотам появления букв в алфавите (того языка, на котором написан текст) и расшифровка будет очень простой. Поэтому простую замену в настоящее время используют редко и в тех случаях, когда шифруемый текст короток. Для повышения стойкости шифра используют так называемые полиалфавитные подстановки, в которых для замены символов исходного текста используются символы нескольких алфавитов. Существует несколько разновидностей полиалфавитной подстановки, наиболее известными из которых являются одно– (обыкновенная и монофоническая) и многоконтурная. При полиалфавитной одноконтурной обыкновенной подстановке для замены символов исходного текста используется несколько алфавитов, причем смена алфавитов осуществляется последовательно и циклически, т.е. первый символ заменяется соответствующим символом первого алфавита, второй — символом второго алфавита и т.д. до тех пор, пока не будут использованы все выбранные алфавиты. После этого использование алфавитов повторяется. Частным случаем полиалфавитной подстановки является так называемая монофоническая подстановка. Особенность этого метода состоит в том, что количество и состав алфавитов выбираются таким образом, чтобы частоты появления всех символов в зашифрованном тексте были одинаковыми. При таком положении затрудняется криптоанализ зашифрованного текста с помощью его статической обработки. Выравнивание частот появления символов достигается за счет того, что для часто встречающихся символов исходного текста предусматривается использование большего числа заменяющих элементов, чем для редко встречающихся. Полиалфавитная многоконтурная подстановка заключается в том, что для шифрования используется несколько наборов (контуров) алфавитов, используемых циклически, причем каждый контур в общем случае имеет свой индивидуальный период применения. Этот период исчисляется, как правило, количеством знаков, после зашифровки которых меняется контур алфавитов. Частным случаем многоконтурной полиалфавитной подстановки является замена по таблице Вижинера, если для шифрования используется несколько ключей, каждый из которых имеет свой период применения. Метод перестановки заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Наиболее часто встречающиеся разновидности этого метода: простой, усложненный по таблице и усложненный по маршрутам перестановки. Шифрование простой перестановкой осуществляется следующим образом: • выбирается ключевое слово с неповторяющимися символами; • шифруемый текст записывается последовательными строками под символами ключевого слова; • зашифрованный текст выписывается колонками в той последовательности, в которой располагаются в алфавите буквы ключа (или в порядке следования цифр в натуральном ряду, если он цифровой). Недостатком шифрования простой перестановкой обуславливается тем, при большой длине шифруемого текста в зашифрованном тексте могут проявиться закономерности символов ключа. Для устранения этого недостатка можно менять ключ после зашифровки определенного количества знаков. При достаточно частой смене ключа стойкость шифрования можно существенно повысить. При этом, однако, усложняется организация процесса шифрования и дешифрования. Усложненный метод перестановки по таблицам заключается в том, что для записи символов шифруемого текста используется специальная таблица, в которую введены некоторые усложняющие элементы. Таблица представляет собой матрицу, размеры которой могут быть выбраны произвольно (например 10*10). В нее, как и в случае простой перестановки, записываются знаки шифруемого текста. Усложнение состоит в том, что определенное число клеток таблицы не используется. Количество и расположение неиспользуемых элементов является дополнительным ключом шифрования. Шифруемый текст блоками по m*n – S элементов записывается в таблицу (m*n — размеры таблицы, S — количество неиспользуемых элементов). Далее процедура шифрования аналогична простой перестановке. Варьируя размерами таблицы, последовательностью символов ключа, количеством и расположением неиспользуемых элементов, можно получить требуемую стойкость зашифрованного текста. Весьма высокую стойкость шифрованию можно обеспечить, используя усложненный метод перестановок по маршрутам типа гамильтоновских. При этом для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используется несколько различных маршрутов (рис. 2). Следует заметить, что все процедуры шифрования и расшифровки по методу перестановки являются в достаточной степени формализованным и могут быть реализованы алгоритмически. Рис. 2. Схема шифрования перестановкой по маршрутам Гамильтона. Открытый текст "КРИПТОГР", зашифрованный текст — "ТОРКИПРГ" (вверху) и "ТКИПРОРГ" (внизу) Достаточно надежное закрытие информации может обеспечиваться при использовании для шифрования аналитических преобразований. Для этого можно применять методы алгебры матриц, например, умножение матрицы на вектор по правилу ||a|| b = C = . Если матрицу ||a|| использовать в качестве ключа, а вместо компонента вектора b подставить символы исходного текста, то компоненты вектора C будут представлять собой символы зашифрованного текста. Используем в качестве примера этого метода квадратную матрицу третьего порядка, которая будет играть роль ключа: Заменим буквы алфавита цифрами, соответствующими их порядковому номеру в алфавите: А = 0; Б = 1; В = 2 и т.д. Тогда тексту ВАТАЛА (текст произвольный) будет соответствовать последовательность 3, 0, 19, 0, 12, 0. По принятому алгоритму шифрования выполним необходимые действия:  = ,  = Таким образом, зашифрованный текст будет иметь следующий вид: 99, 62, 28, 96, 60, 24. Расшифровывание осуществляется с использованием того же правила умножения матрицы на вектор, только в качестве основы берется матрица, обратная той, с помощью которой осуществляется закрытие, а в качестве вектора-сомножителя — соответствующее количество символов закрытого текста. Значениями вектора-результата будут цифровые эквиваленты знаков открытого текста. Суть метода гаммирования состоит в том, что символы шифруемого текста последовательно складываются с символами некоторой специальной последовательности, которая называется гаммой. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название “гаммирование”. Одним из важнейших требований, предъявляемых к системе шифрования, является ее стойкость. Однако повышение стойкости любого метода шифрования приводит, как правило, к существенному усложнению самого процесса шифрования и увеличению затрат ресурсов (времени, аппаратных средств, уменьшению пропускной способности и т.п.). Достаточно эффективным средством повышения стойкости шифрования является комбинированное использование нескольких различных способов шифрования, т.е. последовательное шифрование исходного текста с помощью двух или более методов. Под кодированием понимается такой вид криптографического закрытия, когда некоторые элементы защищаемых данных (не обязательно отдельные символы) заменяются заранее выбранными кодами (цифровыми, буквенными, буквенно-цифровыми сочетаниями и т.д.). Этот метод имеет две разновидности: смысловое и символьное кодирование. При смысловом кодировании кодируемые элементы имеют вполне определенный смысл (слова, предложения, группы предложений). При символьном кодировании кодируется каждый символ защищаемого текста. Символьное кодирование по существу совпадает с подстановочным шифрованием. К отдельным видам криптографии относятся методы рассечения-разнесения и сжатия данных. Рассечение-разнесение заключается в том, что массив защищаемых данных делится (рассекается) на такие элементы, каждый из которых в отдельности не позволяет раскрыть содержание защищаемой информации. Выделенные таким образом элементы данных разносятся по разным зонам памяти или располагаются на разных носителях. Сжатие данных представляет собой замену часто встречающихся одинаковых строк данных или последовательностей одинаковых символов некоторыми заранее выбранными символами. Поскольку криптографические методы ЗИ применяются давно, то уже сформулированы основные требования к ним: 1. Метод должен быть надежным, т.е. восстановление открытого текста при владении только шифротекстом, но не ключом должно быть практически невыполнимой задачей 2. Из-за трудности запоминания объем ключа не должен быть большим. 3. Из-за трудностей, связанных со сложными преобразованиями, процессы шифрования должны быть простыми. 4. Из-за возможности появления ошибок передачи дешифрование шифротекста, содержащего отдельные ошибки, не должно привести к бесконечному увеличению ошибок в полученном предполагаемом открытом тексте. 5. Из-за трудностей передачи объем шифротекста не должен быть значительно больше открытого текста. Перечисленные требования были разработаны для традиционной криптографии. При современном развитии техники необходимость удовлетворения перечисленным требованиям претерпевает существенные изменения. В связи с развитием технологии, позволяющей с большой плотностью записать и длительное время надежно хранить большие объемы информации, условие небольшого объема ключа может быть ослаблено (по существу это условие, как и все остальные, приобретает новый смысл, соответствующий достигнутому уровню техники). В связи с развитием микроэлектроники появляется возможность разработки дешевых устройств, осуществляющих быстро и точно сравнительно сложные преобразования информации. С другой стороны, возможность увеличения скорости передачи отстает от возможности увеличения скорости обработки информации. Это, несомненно, позволяет ослабить требование п.3 без ущерба для практически достигаемой скорости передачи. В настоящее время связное оборудование является высоконадежным, а методы обнаружения и исправления ошибок — хорошо развитыми. К тому же, обычно используемые в компьютерных сетях протоколы сеансов связи предусматривают передачу любого текста даже при наличии сбоев во время передачи. Поэтому требование п.4 в значительной мере потеряло свою актуальность. В отдельных случаях, если каналы связи не перегружены, может быть ослаблено и требование п.5. Таким образом, не затронутым осталось требование п.1, при рассмотрении которого следует учесть два обстоятельства. Во-первых, в АС циркулируют большие объемы информации, а наличие большого объема шифротекста облегчает задачу криптоанализа. Во-вторых, для решения задачи криптоанализа можно использовать ЭВМ. Это позволяет в новых условиях требовать значительного увеличения надежности. Другим важным отрицательным фактором применения криптографии в АС является то, что часто используются языки с весьма ограниченным запасом слов и строгим синтаксисом (языки программирования). В связи с новыми специфическими применениями криптографических методов могут быть выдвинуты также другие требования. Так, например, второй важной областью применения криптографических методов ЗИ являются системы управления базами данных (СУБД). В этом случае к криптографическим методам ЗИ предъявляются следующие дополнительные требования. 1. Из-за невозможности чтения и возобновления записей с середины файла, шифрование и дешифрование каждой записи должны производиться независимо от других записей. 2. Для создания больших удобств обработки и во избежание излишней перегрузки системы вспомогательными преобразованиями необходимо все операции с файлами проводить с данными в зашифрованном виде. Специфика СУБД оказывает влияние на надежность защиты по следующим причинам: • данные в СУБД продолжительное время находятся в зашифрованном виде. Это затрудняет или даже делает невозможной частую смену ключей, и в связи с этим ЗИ становится менее надежной; • ключи могут не передаваться по разным адресам, а храниться все в одном месте. Это повышает надежность системы из-за уменьшения возможности овладения ключами посторонними лицами. В файловых системах вероятность появления ошибки гораздо меньше, чем в каналах связи, поэтому требование п.4 для файловых систем не имеет большого практического значения. Появление быстродействующих ЭВМ способствует возникновению так называемой вычислительной криптографии, тесно связанной с вычислительной техникой. 4.3 Криптоалгоритмы 4.3.1. Классификация криптоалгоритмов Сегодня в криптологии принято оперировать символами не в виде букв, а в виде чисел, им соответствующих. Так, в латинском алфавите можем использовать числа от 0 (соответствующего A) до 25 (Z). Обозначая число, соответствующее исходному символу, x, а закодированному – y, можем записать правило применения подстановочного шифра: y = x + z (mod N), где z – секретный ключ, N – количество символов в алфавите, а сложение по модулю N – операция, аналогичная обычному сложению, с тем лишь отличием, что если обычное суммирование дает результат, больший или равный N, то значением суммы считается остаток от деления его на N. Шифр Цезаря в принятых обозначениях соответствует значению секретного ключа z = 3 (а у Цезаря Августа z = 4). Такие шифры раскрываются чрезвычайно просто даже без знания значения ключа: достаточно знать лишь алгоритм шифрования, а ключ можно подобрать простым перебором (так называемой силовой атакой). Криптология и состоит из двух частей – криптографии, изучающей способы шифрования и/или проверки подлинности сообщений, и криптоанализа, рассматривающего пути расшифровки и подмены криптограмм. Неустойчивость первых шифров на многие столетия породила атмосферу секретности вокруг работы криптографа, затормозила развитие криптологии как науки. В отношении криптоалгоритмов существует несколько схем классификации, каждая из которых основана на группе характерных признаков. Таким образом, один и тот же алгоритм "проходит" сразу по нескольким схемам, оказываясь в каждой из них в какой-либо из подгрупп. Наиболее общей схемой классификации всех криптоалгоритмов является следующая: 1. Тайнопись. Отправитель и получатель производят над сообщением преобразования, известные только им двоим. Сторонним лицам неизвестен сам алгоритм шифрования. Некоторые специалисты считают, что тайнопись не является криптографией вообще. 2. Криптография с ключом. Алгоритм воздействия на передаваемые данные известен всем сторонним лицам, но он зависит от некоторого параметра – "ключа", которым обладают только отправитель и получатель. Алгоритмы с использованием ключа делятся на два класса: 1. Симметричные криптоалгоритмы. Для зашифровки и расшифровки сообщения используется один и тот же блок информации (ключ). 2. Асимметричные криптоалгоритмы. Алгоритм таков, что для зашифровки сообщения используется один ("открытый") ключ, известный всем желающим, а для расшифровки – другой ("закрытый"), существующий только у получателя. В зависимости от характера воздействий, производимых над данными, алгоритмы подразделяются на: 1. Перестановочные: блоки информации (байты, биты, более крупные единицы) не изменяются сами по себе, но изменяется их порядок следования, что делает информацию недоступной стороннему наблюдателю. 2. Подстановочные: сами блоки информации изменяются по законам криптоалгоритма. Подавляющее большинство современных алгоритмов принадлежит этой группе. Заметим: любые криптографические преобразования не увеличивают объем информации, а лишь изменяют ее представление. Поэтому, если программа шифрования значительно (более чем на длину заголовка) увеличивает объем выходного файла, то в ее основе лежит неоптимальный, а возможно и вообще некорректный криптоалгоритм. Уменьшение объема закодированного файла возможно только при наличии встроенного алгоритма архивации в криптосистеме и при условии сжимаемости информации (так, например, архивы, музыкальные файлы формата MP3, видеоизображения формата JPEG сжиматься более чем на 2-4% не будут). В зависимости от размера блока информации криптоалгоритмы делятся на: 1. Поточные шифры. Единицей кодирования является один бит. Результат кодирования не зависит от прошедшего ранее входного потока. Схема применяется в системах передачи потоков информации, то есть в тех случаях, когда передача информации начинается и заканчивается в произвольные моменты времени и может случайно прерываться. Наиболее распространенными предствителями поточных шифров являются скремблеры. 2. Блочные шифры. Единицей кодирования является блок из нескольких байтов. Результат кодирования зависит от всех исходных байтов этого блока. Схема применяется при пакетной передаче информации и кодировании файлов. 4.3.2. Типы шифров Метод шифровки/дешифровки называют шифром. Некоторые алгоритмы шифрования основаны на том, что сам метод шифрования (алгоритм) является секретным. Ныне такие методы представляют лишь исторический интерес и не имеют практического значения. Все современные шифры используют ключ для управления шифровкой и дешифровкой; сообщение может быть успешно дешифровано только если известен ключ. Ключ, используемый для дешифровки, может не совпадать с ключом, используемым для шифрования, однако в большинстве алгоритмов ключи совпадают. Все методы шифровки можно разделить на две группы: шифры с секретным ключом и шифры с открытым ключом. Первые характеризуются наличием некоторой информации (секретного ключа), обладание которой даёт возможность, как шифровать, так и расшифровывать сообщения. Поэтому они именуются также одноключевыми. Шифры с открытым ключом подразумевают наличие двух ключей – открытого и закрытого; один используется для шифровки, другой для расшифровки сообщений. Эти шифры называют также двухключевыми. Весь дальнейший материал будет посвящен криптографии с ключом, так как большинство специалистов именно по отношению к этим шифрам используют термин криптография, что вполне оправдано. Так, например, любой шифрс ключом можно превратить в тайнопись, просто "зашив" в исходном коде программы некоторый фиксированный ключ. Обратное же преобразование практически невозможно. Алгоритмы с использованием ключа делятся на два класса: алгоритмы с секретным ключом (или симметричные) и алгоритмы с открытым ключом (или асиметричные). Разница в том, что симметричные алгоритмы используют один и тот же ключ для шифрования и для дешифрования (или же ключ для дешифровки просто вычисляется по ключу шифровки). В то время как асимметричные алгоритмы используют разные ключи, и ключ для дешифровки не может быть вычислен по ключу шифровки. Симметричные шифры подразделяют на поточные шифры и блочные шифры. Поточные позволяют шифровать информацию побитово, в то время как блочные работают с некоторым набором бит данных (обычно размер блока составляет 64 бита) и шифруют этот набор как единое целое. Ассиметричные шифры (также именуемые алгоритмами с открытым ключом, или – в более общем плане – криптографией с открытым ключом) допускают, чтобы открытый ключ был доступен всем (скажем, опубликован в газете). Это позволяет любому зашифровать сообщение. Однако расшифровать это сообщение сможет только нужный человек (тот, кто владеет ключом дешифровки). Ключ для шифрования называют открытым ключом, а ключ для дешифрования – закрытым ключом или секретным ключом. Современные алгоритмы шифровки/дешифровки достаточно сложны и их невозможно проводить вручную. Настоящие криптографические алгоритмы разработаны для использования компьютерами или специальными аппаратными устройствами. В большинстве приложений криптография производится программным обеспечением и имеется множество доступных криптографических пакетов. Вообще говоря, симметричные алгоритмы работают быстрее, чем ассиметричные. На практике оба типа алгоритмов часто используются вместе: алгоритм с открытым ключом используется для того, чтобы передать случайным образом сгенерированный секретный ключ, который затем используется для дешифровки сообщения. Многие качественные криптографические алгоритмы доступны широко – в книжном магазине, библиотеке, патентном бюро или в Интернет. К широко известным симметричным алгоритмам относятся DES и IDEA, Наверное, самым известным асимметричным алгоритмом является RSA. Кроме того, есть разделение алгоритмов шифрования на собственно шифры (ciphers) и коды (codes). Шифры работают с отдельными битами, буквами, символами. Коды оперируют лингвистическими элементами (слоги, слова, фразы). 4.3.3. Шифры с секретным ключом Этот тип шифров подразумевает наличие некой информации (ключа), обладание которой позволяет, как зашифровать, так и расшифровать сообщение. С одной стороны, такая схема имеет те недостатки, что необходимо кроме открытого канала для передачи шифрограммы наличие также секретного канала для передачи ключа, а, кроме того, при утечке информации о ключе, невозможно доказать, от кого из двух корреспондентов произошла утечка. С другой стороны, среди шифров именно этой группы есть единственная в мире схема шифровки, обладающая абсолютной теоретической стойкостью (все прочие можно расшифровать хотя бы в принципе). Такой схемой является обычная шифровка с ключом, длина которого равна длине сообщения. При этом ключ должен использоваться только раз. Любые попытки расшифровать такое сообщение бесполезны, даже если имеется априорная информация о тексте сообщения. Осуществляя подбор ключа, можно получить в результате любое сообщение. Симметричные (с секретным, единым ключом, одноключевые, single-key). 1. Поточные (шифрование потока данных): • с одноразовым или бесконечным ключом (infinite-key cipher); • с конечным ключом (система Вернама – Vernam); • на основе генератора псевдослучайных чисел (ПСЧ). 2. Блочные (шифрование данных поблочно): 2.1. Шифры перестановки (permutation, P-блоки). 2.2. Шифры замены (подстановки, substitution, S-блоки): • моноалфавитные (шифр Цезаря); • полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma). 2.3. Составные – практически все современные. 4.3.4. Шифры с открытым ключом Шифры с открытым ключом подразумевают наличие двух ключей – открытого и закрытого; один используется для шифровки, другой для расшифровки сообщений. Открытый ключ публикуется – доводится до сведения всех желающих, секретный же ключ хранится у его владельца и является залогом секретности сообщений. Суть метода в том, что зашифрованное при помощи секретного ключа может быть расшифровано лишь при помощи открытого и наоборот. Ключи эти генерируются парами и имеют однозначное соответствие друг другу. Причём из одного ключа невозможно вычислить другой. Характерной особенностью шифров этого типа, выгодно отличающих их от шифров с секретным ключом, является то, что секретный ключ здесь известен лишь одному человеку, в то время как в первой схеме он должен быть известен, по крайней мере, двоим. Это даёт такие преимущества: • не требуется защищённый канал для пересылки секретного ключа, вся связь осуществляется по открытому каналу; • «что знают двое, то знает свинья» – наличие единственной копии ключа уменьшает возможности его утраты и позволяет установить чёткую персональную ответственность за сохранение тайны; • наличие двух ключей позволяет использовать данную шифровальную систему в двух режимах – секретная связь и цифровая подпись. Примерами рассматриваемых алгоритмов шифровки служат: • Диффи-Хеллман – DH (Diffie-Hellman); • Райвест-Шамир-Адльман – RSA (Rivest, Shamir, Adleman); • Эль-Гамаль (El Gamal); • Меркль-Хеллман (Merkle-Hellman) и Хор-Райвест – ранцевая система (на основе задачи об укладке рюкзака); • на основе эллиптических кривых. 4.4 Элементы криптоанализа Раскрытие зашифрованных текстов (в первую очередь нахождение ключа) осуществляется при помощи методов криптоанализа. Основными методами криптоанализа являются: • статистические, при которых зная статистические свойства открытого текста пытаются исследовать статистические закономерности шифротекста и на основании обнаруженных закономерностей раскрыть текст; • метод вероятных слов, в котором при сопоставлении некоторой небольшой части шифротекста с известным фрагментом открытого текста пытаются найти ключ и с его помощью расшифровать весь текст. Требуемый фрагмент открытого текста можно найти с помощью статистических методов или просто угадать, исходя из предполагаемого содержания или структуры открытого текста. Существует пропасть между ручными и машинными способами шифровки. Ручные шифры весьма разнообразны и могут быть самыми неожиданными. Кроме того, закрываемые ими сообщения предельно кратки. По этой причине их вскрытие гораздо более эффективно выполняется людьми. Машинные шифры более стереотипны, вычислительно предельно сложны и предназначены для закрытия сообщений очень большой длины. Естественно, что вручную их расколоть даже и не надо пытаться. Однако и здесь криптоаналитики играют главную роль, выступая в роли полководцев криптографической атаки, хотя само сражение ведут лишь технические и программные средства. Всегда считаются известными тип шифра и язык сообщения. Их могут подсказать алфавит и статистические свойства шифровки. Однако обычно информация о языке и типе шифра становится известной из агентурных источников. Положение несколько напоминает взлом сейфа: если "медвежатник" и не знает заранее конструкции вскрываемого сейфа, что представляется маловероятным, то он быстро определит ее по внешнему виду или фирменному знаку. Поэтому неизвестным является только ключ, который предстоит вскрыть. Трудность заключается в том, что точно так же, как и не все болезни лечатся одним и тем же лекарством, а для каждой имеются свои специфические средства, так отдельные виды шифров вскрываются только своими приемами. При традиционном криптоанализе систем шифрования возможность их раскрытия зависит, в значительной мере, от квалификации взломщика. Криптоаналитик должен хорошо владеть методами дискретной математики, теории чисел, теории сложности, абстрактной алгебры, статистики, алгоритмического анализа и прочих родственных криптографии математических дисциплин, а также иметь развитую интуицию, чтобы найти метод, ведущий к вскрытию шифра, предполагая, что он существует. Процесс криптоанализа всякий раз начинается с самого начала при подходе к новой системе и опыт, полученный при раскрытии одной системы шифрования, редко когда может быть применен для раскрытия другой. Успех криптоанализа определяется алгоритмом шифрования – сложность вскрытия шифра зависит лишь от его конструкции. Это значит, что существует очень мало общих принципов криптоанализа, которые можно было бы практически использовать для раскрытия любых шифров, и автоматический криптоанализ эффективен применительно к очень ограниченному классу алгоритмов. Поэтому практически стойкость шифров к взлому принимается за меру криптографической стойкости их алгоритмов. Чем продолжительнее шифр не поддается раскрытию, тем больше причин считать его стойким. Однако стойкость шифра необязательно значит, что он является безопасным. Это означает лишь, что метод его взлома еще не найден любителями или не опубликован профессионалами. Как пример можно привести шифры, где кроме ключа шифрования имеется еще главный ключ, который называют ключом от черного входа. Такие шифры могут быть стойкими, но они не безопасны, так как обладатель главного ключа может читать любые шифровки. Следовательно, процесс криптоанализа может быть очень длительным по причине того, что криптоаналитику мало помогает успешное раскрытие других систем шифрования и ему неизвестна другая мера криптографической стойкости шифра, кроме продолжительности его сопротивления к взлому. Даже если взломщик не может прочесть сообщение, все равно нужно быть осторожным. В этом случае он может получить много информации, зная отправителя, получателя, время и длину сообщения. Теперь рассмотрим одно приложение знаний свойств естественного текста сообщения для нужд криптографии. Требуется по отрезку текста решить, что он из себя представляет, осмысленное сообщение или последовательность случайных символов. Ряд шифров приходится вскрывать перебором ключей, а вручную просмотреть свыше тысячи фрагментов в день просто не под силу, да и скорость мала. Поэтому нужно эту задачу реализовать на ЭВМ. Пусть предстоит перебрать примерно миллиард ключей на машине со скоростью тысяча ключей в секунду, на что уйдет около 10 дней. В этом случае мы рискуем впасть в две крайности. Если будем чрезмерно осторожны в оценках, то часть несмысловых текстов будет воспринята как сообщения и передана человеку. Эта ошибка обычно называется "ложная тревога" или ошибка первого рода. При количестве таких ошибок свыше 1000 в день человек устанет и может начать проверять тексты невнимательно. Значит, допускается не более одной ошибки такого рода на сто тысяч проверок. Далее, если подойти к проверке поверхностно, то можно пропустить смысловой текст и по окончании полного перебора его опять придется повторить. Чтобы не рисковать необходимостью повторения всей работы, ошибки второго рода или "пропуски сообщения" допустимы лишь одном случае из ста или тысячи. Самый простой критерий, который приходит в голову, связан с использованием алфавита сообщения. Если учитывать, что в нем могут встретиться лишь знаки препинания, цифры, заглавные и малые русские буквы, то в тексте сообщения встретится не больше половины набора кодовой таблицы ASCII. Следовательно, встретив в тексте недопустимый символ можно уверенно говорить о том, что он несмысловой – ошибки второго рода почти исключены при нормально работающем канале связи. Для того, чтобы снизить вероятность "ложных тревог" до принятой выше величины, требуется, чтобы текст состоял не менее чем из двадцати трех символов. Дело усложняется, если используемый код букв не избыточен, как представление в ASCII русского текста, а содержит ровно столько символов, сколько их в алфавите. Тогда приходится вести оценку по вероятностям встречи символов. Чтобы обеспечить принятые вероятности ошибок первого и второго рода при оценке максимального правдоподобия, необходимо анализировать уже около сотни символов, а анализ вероятностей биграмм лишь несколько снижает эту величину. Таким образом, короткие сообщения при большой длине ключа вообще невозможно расшифровать однозначно, так как появляющиеся случайные тексты могут совпадать с осмысленными фразами. Аналогичную задачу приходится решать и при контроле качества шифрования. В этом случае, правда, вероятность ложной тревоги можно повысить, приняв ее не свыше одной тысячной, при той же самой вероятности пропуска сообщения. А это позволит ограничиться для проверки лишь 20-30 символами. Вот как описано вскрытие ручных шифров советской разведгруппы (получившей с легкой руки самого Гиммлера прозвище "Красная Капелла"), полностью уничтожить которую немцы не смогли, несмотря на многие аресты ее участников с начала и до конца войны: "Математический отдел разведки и служба расшифровки Главного командования вермахта лихорадочно работала над найденным в особняке наполовину обуглившимся обрывком зашифрованного текста радиопередачи. Они пришли к выводу, что ключ к шифру находится в тексте какой-то французской книги (Язык сообщения и тип шифра стали известны после того, как арестованная бельгийская консьержка на допросах сообщила о пристрастии агентов "Красной Капеллы" к чтению французских романов, часть названий которых она вспомнила.). Из крошечного обрывка сожженного листка бумаги специалисты после кропотливых исследований сумели реконструировать слово ПРОКТОР. Теперь, следовало выяснить, в каких книгах встречается это ключевое слово. Через три месяца мы разыскали эту книгу. Тогда специалисты отдела расшифровки смогли расшифровать обнаруженные в Брюсселе и перехваченные заново радиопередачи." Еще один короткий пример вскрытия шифра замены приведем из-за его занимательной истории. Писатель Эдгар По считал себя непревзойденным криптоаналитиком. Ему принадлежит дерзкое высказывание: "...можно смело утверждать, что человеческий гений не в силах составить шифр, раскрыть который оказалось бы не под силу человеческому гению". Поэтому в 1839 году он бросил вызов читателям журнала "Alexander's Weekly Messenger", утверждая, что расколет любой их шифр замены. Некто Калп в 1840 году прислал ему такой текст шифровки: GE JEASGDXV, ZIJ GL MW, LAAM, XZY. . . Эдгар По, предполагавший, что будет предложен шифр простой замены, счел пример Калпа "мешаниной случайных букв". Однако в 1975 году слушатели лекций по криптологии Винкель и Листер расшифровали его, предположив многоалфавитную замену вместо простой. В шифрах многоалфавитной замены для шифрования каждого символа исходного сообщения применяется свой шифр простой замены (свой алфавит).   АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_ А АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_ Б _АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ В Я_АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮ Г ЮЯ_АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭ . ………… Я ВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_АБ _ БВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_А Каждая строка в этой таблице соответствует одному шифру замены аналогично шифру Цезаря для алфавита, дополненного пробелом. При шифровании сообщения его выписывают в строку, а под ним ключ. Если ключ оказался короче сообщения, то его циклически повторяют. Шифротекст получают, находя символ в колонке таблицы по букве текста и строке, соответствующей букве ключа. Например, используя ключ АГАВА, из сообщения ПРИЕЗЖАЮ ШЕСТОГО получаем следующую шифровку: Сообщение ПРИЕЗЖАЮ_ШЕСТОГО Ключ АГАВААГАВААГАВАА Шифровка ПНИГЗЖЮЮЮАЕОТМГО Скорее всего, Винкель и Листер начали с первых двух слов, увидев в них искаженное имя получателя ALEXANDER как ALXANDER: Шифpовка GE JEASGDXV Сообщение MR ALXANDER Ключ UN JTDSTATE Полученная частная расшифровка была очень похожа на фразу UNITED STATES и, повторяя ее циклически, они вскрыли весь текст шифровки. Стало ясно, что даже если бы дилетант По и знал о многоалфавитных шифрах, то взламывание текста шифровки Калпа представляло собой серьезную задачу: одна буква в шифровке была пропущена, а 15 искажены скорее всего по вине наборщика. Этот пример показывает, что ошибки в шифровании способны озадачить не только криптоаналитика, но и легального получателя сообщения, обладающего ключом. Ведь из-за пропущенной пятой буквы текста шифровки весь ее остаток был нечитаемым! По ряду свидетельств, опытные криптоаналитики читают такие шифровки "с листа", потратив на это минуту-другую, что свидетельствует о профессиональном видении структуры текста в кажущейся мешанине букв. В этом они сильно превосходят ЭВМ, которая удовлетворительно читает шифр простой замены лишь при достаточно большой длине сообщения – больше сотни символов. Однако и здесь ЭВМ может серьезно помочь в «раскалывании» шифра, например, разделив буквы на гласные и согласные. Так как гласные и согласные имеют тенденцию чередоваться, то можно по матрице чередований символов разделить их на эти классы (для этого на ЭВМ криптоаналитики традиционно используют так называемое сингулярное разложение матрицы переходных вероятностей). Кроме того, можно программно оценить вероятности принадлежности символов шифра разным буквам выписать их столбцами по убыванию вероятности, что даст другую технику вскрытия этого шифра. Лучшие известные криптографические системы, преимущественно принадлежащие правительствам, практически невозможно вскрыть. Однако, все государства теми или иными путями пытаются сдержать и даже запретить свободное использование криптографии, как вызывающее головную боль у их секретных служб. В то время, как ЦРУ в США призывает фирмы шире использовать шифрование, то АНБ пытается ограничить длину ключа. В этом случае возможен даже прямой перебор ключей, если использовать достаточно мощную ЭВМ. Цена такого раскалывания достаточно высока, что, впрочем, сильно зависит от эффективности алгоритма атаки. Поэтому проблемы криптоанализа еще долгое время будут весьма актуальны. ====================================================================================== ВОПРОСЫ: 1. Основы криптологии 2. Принципы криптографии 3. История криптографии 4. Классификация криптоалгоритмов 5. Типы шифров 6. Шифры с секретным ключом и открытым ключом 7. Элементы криптоанализа 5. Симметричные криптоалгоритмы. Поточные шифры 5.1 Исключа́ющее «ИЛИ» "Исключающее ИЛИ" (англ. – XOR – Xor swap algorithm), "сложение по модулю 2" — аналог исключающего ИЛИ в логике. В булевой логике: В языке C: ^ Сложе́ние по модулю 2 («сумма по модулю 2», исключа́ющее «ИЛИ», XOR, «не равно») — ло­ги­чес­кая опе­ра­ция (функция), по сво­ему при­ме­не­нию мак­си­маль­но при­бли­жён­ная к грам­ма­ти­чес­кой кон­струк­ции «либо … либо …» или «если операнды не равны, то истино (1)». Сложение по модулю 2 может быть: бинарной опе­ра­цией (функцией), то есть иметь два опе­ранда (аргумента), тринарной (триарной) операцией (функцией), то есть иметь три операнда (аргумента) или n-арной операцией (функцией), т.е. иметь n операндов (аргументов). Если один из аргументов равен 0, то результат равен другому. Если один из аргументов равен 1, то результат равен отрицанию другого аргумента. Первое русское название операции обусловлено тем, что результат данной операции отличается от результата "ИЛИ" только в одном случае из 4 случаев входа — обоих 1 (случай одновременной истинности аргументов "исключается"). Ещё в русской грамматике значение данной логической связки передаётся союзом "либо". Второе название — тем, что действительно является сложением в кольце вычетов по модулю 2, из чего следуют некоторые интересные свойства. Например, в отличие от «И» и "ИЛИ" данная операция является обратимой, или инволютивной: (X Y) Y = X. Благодаря инволютивности же эта операция нашла применение в криптографии. Таблица истинности для бинарного сложения по модулю 2 (результат равен 0, если оба операнда равны; во всех остальных случаях результат равен 1) соответствует бинарной функции f(10,1,0110)2(x,y) = f(2,1,06)10(x,y): a b a b 1 1 1 1 1 1 Таблица истинности для тринарного сложения по модулю 2 соответствует тринарной функции f(11,1,10010110)2(x,y) = f(3,1,150)10(x,y): X Y Z (X,Y,Z) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5.2 Абсолютно стойкие шифры Существует два принципиально разных метода обеспечения стойкости криптографических систем против криптоаналитического нападения. В некоторых системах объем доступной криптоаналитику информации фактически недостаточен для того, чтобы найти преобразования и дешифрирования, причем данная ситуация не зависит от того, какие вычислительные мощности имеет криптоаналитик. Система такого рода называется безусловно стойкой. В том случае, когда перехваченный материал содержит достаточно информации для однозначного решения криптоаналитической задачи, нет никакой гарантии, что это решение будет найдено криптоаналитиком, имеющим определенные вычислительные ресурсы. Следовательно, цель разработчика криптографической системы состоит в том, чтобы уменьшить затраты на операции шифрования и дешифрирования, но чтобы в тоже время любая криптоаналитическая операция была слишком сложной и поэтому экономически невыгодной. Иными словами, необходимо, чтобы задача криптоанализа, о которой известно, что она разрешима при конечном объеме вычислений, была бы столь громоздкой, что для ее решения не хватило бы физических вычислительных ресурсов всего мира. Задачу такого объема называют вычислительно нереализуемой, а связанную с ней криптографическую систему — вычислительно стойкой. В случае безусловно стойких систем их стойкость может быть доказана, но что касается теории вычислительной сложности, то при нынешнем уровне ее развития она не в состоянии продемонстрировать вычислительную нереализуемость любой криптографической задачи. Поэтому в криптографии возникло и развивается направление, посвященное разработке формальных процессов проверки стойкости. Такие процессы сводятся к криптоаналитическому нападению на предлагаемые для проверки криптографические системы при условиях, благоприятных для криптоаналитика. Простейшей и в то же время наиболее надежной изо всех схем шифрования является так называемая схема однократного использования (рис. 1), изобре­тение которой чаще всего связывают с именем инженера компании AT&T Жильбера Вернама (G.S. Vernam). В 1926 году он предложил действительно нераскрываемый шифр. Идея шифра состоит в том, чтобы в уравнении y = x + z (mod N) для каждого следующего символа выбирать новое значение z. Другими словами, секретный ключ должен использоваться только один раз. Если такой ключ выбирается случайным образом, то, как было строго доказано Клодом Шенноном (C. E. Shannon) через 23 года, шифр является нераскрываемым. Этот шифр является теоретическим обоснованием для использования так называемых "шифроблокнотов", широкое применение которых началось в годы второй мировой войны. Шифроблокнот содержит множество ключей однократного использования, последовательно выбираемых при шифровании сообщений. Алгоритм поэтому так и называется одноразовым блокнотом (one-time pad). В этом алгоритме ключ представляет собой последовательность битов не менее длинную, чем шифруемое сообщение m. Формиру­ется m-разрядная случайная двоичная последовательность – ключ шифра, из­вестный отправителю и получателю сообщения. Отправитель производит операцию поби­тного «исключающего ИЛИ» ключа и m-разрядной двоичной последовательно­сти, соответствующей пересылаемому сообщению: сi = pi XOR ki, i = 1…m, где pi, ki, сi – очередной i-й бит соответственно исходного сообщения, ключа и зашифрованного сообщения, m – число битов открытого текста. Процесс рас­шифрования сводится к повторной генерации ключевой последовательности и наложения ее на зашифрованные данные. Уравнение расшифрования имеет вид: pi = сi XOR ki, i = 1…m. Отметим, что данный алгоритм утрачивает свою надежность, если два сообщения оказываются зашифрованы одним и тем же ключом. В этом случае путем побитового сложения шифрограмм можно исключить биты ключа, а получившаяся побитовая сумма осмысленных сообщений поддается методам статистического анализа. Предложение Вернама, однако, не решает задачи секретной связи: вместо способа передачи секретного сообщения теперь необходимо найти способ передачи секретного ключа, РАВНОГО ему ПО ДЛИНЕ, т.е. содержащего столько же символов, сколько имеется в открытом тексте. Ключ должен быть надежным образом передан адресату, что само по себе не проще, чем передача сообщения. Единственная выгода метода состоит в том, что ключ можно передать заранее, а сообщение – по открытому каналу и тогда, когда это будет нужно. Рис. 1. Схема однократного использования В 1949 году статья Клода Шеннона "Теория связи в секретных системах" положила начало научной криптологии. Шенноном доказано, что, если ключ является фрагментом истинно случайной двоичной последовательности с равномерным законом распределения, причем длина ключа равна длине исходного сообщения и используется этот ключ только 1 раз, после чего уничтожается, такой шифр является абсолютно стойким, его невозможно раскрыть, даже если криптоаналитик располагает не­ограниченным запасом времени и неограниченным набором вычислительных ресурсов. Действительно, противнику известно только зашифрованное сообще­ние с, при этом все различные ключевые последовательности k возможны и рав­новероятны, а значит, возможны и любые сообщения p, т. е. криптоалгоритм не дает никакой информации об открытом тексте. Целью противника может являться раскрытие криптосистемы, нахождение ключа, в крайнем случае дешифрование какого-либо закрытого сообщения. Од­нако он может быть удовлетворен, получив даже некоторую вероятностную ин­формацию об исходном тексте сообщения. Например, известный криптоанали­тику факт написания текста некоторого сообщения на английском языке, пре­доставляет ему некоторую априорную информацию об этом сообщении даже до анализа шифровки, В этом случае он заранее знает, что слово HELLO является более вероятным началом сообщения, чем набор букв FGHKM. Поэтому одной из целей криптоанализа может являться увеличение информации, относящейся к каждому возможному сообщению, таким образом, чтобы правильный текст был более вероятен. Предположим, противник перехватил шифровку ABCCD и знает (или предполагает), что использованный шифр – это шифр простой замены. Анализ шифровки позволяет сделать вывод, что исходное сообщение состоит из пяти букв, причем на третьей и четвертой позициях стоит одна и та же буква, а остальные отличны от нее и различны между собой. Противник не может счи­тать, что это сообщение HELLO, потому что имеются и другие возможные со­общения, например TEDDY. Однако, апостериорные вероятности таких откры­тых текстов возрастают относительно их априорных вероятностей. В то же вре­мя апостериорная вероятность таких открытых текстов, как PEACE или GATES, снижается до нуля вне зависимости от их априорной вероятности. По К. Шеннону, в совершенно секретных криптосистемах после анализа закрытых текстов апостериорные вероятности возможных открытых текстов остаются такими же, какими были их априорные вероятности. Естественно, основной вопрос, который интересовал криптографов, это существуют ли на практике абсолютно стойкие шифры. Специалистам было интуитивно понятно, что они существуют, и пример подобного шифра привел Вернам более чем за два десятилетия до того, как один из основоположников теории информации К. Шеннон формально доказал их существование. В этом доказательстве Шеннон также получил и необходимое условие абсолютной стойкости шифра: для того, чтобы шифр был абсолютно стойким, необходимо, чтобы неопределенность алгоритма шифрования была не меньше неопределенности шифруемого сообщения. Необходимые и достаточные условия абсолютной стойкости шифра: • полная случайность ключа; • равенство длин ключа и открытого текста; • однократное использование ключа. Неопределенность алгоритма шифрования определяется точно так же, как и неопределенность сообщения – математическое ожидание двоичного логарифма вероятности использования алгоритма со знаком минус, – и имеет смысл только в том случае, если определено множество возможных алгоритмов и задана вероятность использования каждого из них. Стойкость шифров основана на секретности, то есть на неопределенности для злоумышленника алгоритма расшифрования – если бы это было не так, любой бы мог расшифровать зашифрованные данные. Чем меньше знает злоумышленник о шифре, тем менее вероятно успешное дешифрование сообщения. Поясним сказанное на примере: пусть перехвачена короткая 12-битовая шифровка, имеющая следующее содержание: 100101110101. Для простоты предположим, что исходное сообщение имеет ту же длину. Если у злоумышленника нет никаких априорных сведений о зашифрованном сообщении, для него каждый из 212 исходных вариантов равновероятен, и, таким образом, вероятность правильно определить исходное сообщение простым угадыванием равна 2-12. Предположим теперь, что злоумышленнику априорно известно, что зашифрование является наложением одной и той же 4-битовой маски на каждую 4-битовую группу сообщения с помощью операции побитового исключающего или. Очевидно, возможно 16 = 24 различных вариантов битовой маски, соответственно, возможно 16 различных значений исходного текста: маска исходный текст 0000 100101110101 0001 100001100100 0010 101101010111 ... ... 1111 011010001010 Таким образом, теперь вероятность правильно угадать исходный текст равна 1/16 – знание особенности использованного способа шифрования повысило ее в 256 раз. Отсюда следует интересный вывод: чем больше неопределенность в шифрующем преобразовании для постороннего лица, тем дальше оно стоит от разгадки шифра, тем шифр надежнее. Шифр, полностью неопределенный для злоумышленника (H(E) = ) является нераскрываемым для него, то есть абсолютно стойким! Получается, что надежность шифра зависит исключительно от секретности его ключа и не зависит от прочих его свойств. 5.3 Гаммирование Рис. 2. Система однократного использования на основе шифровального блокнота БС – блок сложения, БВ – блок вычитания Абсолютная стойкость рассмотренной схемы (рис. 2) оплачивается слишком большой ценой: она чрезвычайно дорогая и непрактичная. Основной ее недостаток – это равенство объема ключевой информации и суммарного объема передаваемых со­общений. Применение схемы оправданно лишь в нечасто используемых каналах связи для шифрования исключительно важных сообщений. Существует большое число модификаций представленной схемы, наиболее известная из которых осно­вана на использовании одноразовых шифровальных блокнотов: Буква А Б В Г Д Е Ж З И Й К Л М Н О П Код 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Буква Р С Т У Ф Х Ц Ч Ш Щ Ь Ы Ъ Э Ю Я _ Код 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Таким образом, построить эффективный криптоалгоритм можно, лишь отка­завшись от абсолютной стойкости. Возникает задача разработки такого теорети­чески нестойкого шифра, для вскрытия которого противнику потребовалось бы выполнить такое число операций, которое неосуществимо на современных и ожидаемых в ближайшей перспективе вычислительных средствах за разумное время. В первую очередь представляет интерес схема, использующая ключ не­большой разрядности, который в дальнейшем выполняет функцию "зародыша", порождающего значительно более длинную ключевую последовательность. Данный результат может быть достигнут при использовании гаммирования, схема которого показана на рис. 3. Гаммированием называют процедуру на­ложения на входную информационную последовательность гаммы шифра, т. е. последовательности с выходов генератора псевдослучайных кодов. Последова­тельность называется псевдослучайной, если по своим статистическим свойствам она неотличима от истинно случайной последовательности, но в отличие от по­следней является детерминированной, т. е. знание алгоритма ее формирования дает возможность ее повторения необходимое число раз. Если символы входной информационной последовательности и гаммы представлены в двоичном виде, наложение чаще всего реализуется с помощью операции поразрядного «исключающего ИЛИ» (XOR). Надежность шифрования методом гаммирования определяется качеством генератора гаммы. В некоторых потоковых шифрах ключ короче сообщения. Так, в системе Вернама для телеграфа используется бумажное кольцо, содержащее гамму. Конечно, стойкость такого шифра не идеальна. Рис. 3. Шифрование информации методом гаммирования Различают гаммирование с конечной и бесконечной гаммами. В данном случае "бесконечная" означает, что гамма не повторяется. Примером бесконечной гаммы может служить последовательность цифр в десятичной за­писи числа π = 3,1415926... В том случае, если множеством используемых для шифрования знаков явля­ется алфавит, отличный от бинарного (Z2 = {0,1}), например алфавит Z33 – рус­ские буквы и пробел, его символы и символы гаммы заменяются цифровыми эквивалентами, которые затем суммируются по модулю N: сi = (pi + yi) mod N, i = 1…m, где сi, pi, yi – очередной i-й знак соответственно исходного сообщения, гаммы и шифротекста; N – число символов в алфавите; m – число знаков открытого текста. Возможно использование при гаммировании и других логических операций. Шифр Вернама можно считать исторически первым поточным шифром. Так как поточные шифры, в отличие от блочных, осуществляют поэлементное шиф­рование потока данных без задержки в криптосистеме, их важнейшим достоин­ством является высокая скорость преобразования, соизмеримая со скоростью поступления входной информации. Таким образом, обеспечивается шифрование практически в реальном масштабе времени вне зависимости от объема и разряд­ности потока преобразуемый данных. Простейшие устройства синхронного и самосинхронизирующегося шифро­вания, реализованного на основе N-разрядного регистра сдвига с линейной обратной связью – LFSR (Linear Feedback Shift Register), на­зываются скремблерами, а сам процесс преобразования – скремблированием. 5.4 Скремблирование В речевых системах связи известно два основных метода закрытия речевых сигналов, различающихся по способу передачи по каналам связи: аналоговое скремблирование и дискретизация речи с последующим шифрованием. Под скремблированием понимается изменение характеристик речевого сигнала, таким образом, что полученный модулированный сигнал, обладая свойствами неразборчивости и неузнаваемости, занимает ту же полосу частот, что и исходный сигнал. Каждый из этих методов имеет свои достоинства и недостатки. Так, для аналоговых скремблеров характерно присутствие при передаче в канале связи фрагментов исходного открытого речевого сообщения, преобразованного в частотной и (или) временной области. Это означает, что злоумышленники могут попытаться перехватить и проанализировать передаваемую информацию на уровне звуковых сигналов. Поэтому ранее считалось, что, несмотря на высокое качество и разборчивость восстанавливаемой речи, аналоговые скремблеры могут обеспечивать лишь низкую или среднюю, по сравнению с цифровыми системами, степень закрытия. Однако новейшие алгоритмы аналогового скремблирования способны обеспечить не только средний, но очень высокий уровень закрытия. Аналоговые скремблеры преобразуют исходный речевой сигнал посредством изменения его амплитудных, частотных и временных параметров в различных комбинациях. Скремблированный сигнал затем может быть передан по каналу связи в той же полосе частот, что и открытый. Аналоговые скремблеры подразделяются на: • речевые скремблеры простейших типов на базе временных и (или) частотных перестановок речевого сигнала (рис. 1.); Рис. 1. Схема простейшего речевого скремблера • комбинированные речевые скремблеры на основе частотно-временных перестановок отрезков речи, представленных дискретными отсчетами, с применением цифровой обработки сигналов (рис. 2.). Рис. 2. Схема комбинированного речевого скремблера Цифровые системы не передают какой-либо части исходного речевого сигнала. Речевые компоненты кодируются в цифровой поток данных, который смешивается с псевдослучайной последовательностью, вырабатываемой ключевым генератором по одному из криптографических алгоритмов. Подготовленное таким образом сообщение передается с помощью модема в канал связи, на приемном конце которого проводятся обратные преобразования с целью получения открытого речевого сигнала. Посредством дискретного кодирования речи с последующим шифрованием всегда достигалась высокая степень закрытия. Ранее этот метод имел ограниченное применение в имеющихся узкополосных каналах из-за низкого качества восстановления передаваемой речи. Достижения в развитии технологий низкоскоростных дискретных кодеров позволили значительно улучшить качество речи без снижения надежности закрытия. В последнее время сфера применения скремблирующих алгоритмов значительно сократилась. Это объясняется в первую очередь снижением объемов побитной последовательной передачи информации, для защиты которой были разработаны данные алгоритмы. Практически повсеместно в современных системах применяются сети с коммутацией пакетов, для поддержания конфиденциальности которой используются блочные шифры. А их криптостойкость превосходит, и порой довольно значительно, криптостойкость скремблеров. Суть скремблирования заключается в побитном изменении проходящего через систему потока данных. Практически единственной операцией, используемой в скремблерах является XOR – "побитное исключающее ИЛИ". Параллельно прохождению информационного потока в скремблере по определенному правилу генерируется поток бит – кодирующий поток. Как прямое, так и обратное шифрование осуществляется наложением по XOR кодирующей последовательности на исходную. Генерация кодирующей последовательности бит производится циклически из небольшого начального объема информации – ключа по следующему алгоритму. Из текущего набора бит выбираются значения определенных разрядов и складываются по XOR между собой. Все разряды сдвигаются на 1 бит, а только что полученное значение ("0" или "1") помещается в освободившийся самый младший разряд. Значение, находившееся в самом старшем разряде до сдвига, добавляется в кодирующую последовательность, становясь очередным ее битом (см. рис.3). Рис.3. Из теории передачи данных криптография заимствовала для записи подобных схем двоичную систему записи. По ней изображенный на рисунке скремблер записывается комбинацией "100112" – единицы соответствуют разрядам, с которых снимаются биты для формирования обратной связи. Как видим, устройство скремблера предельно просто. Его реализация возможна как на электронной, так и на электрической базе, что и обеспечило его широкое применение в полевых условиях. Более того, тот факт, что каждый бит выходной последовательности зависит только от одного входного бита, еще более упрочило положение скремблеров в защите потоковой передачи данных. Это связано с неизбежно возникающими в канале передаче помехами, которые могут исказить в этом случае только те биты, на которые они приходятся, а не связанную с ними группу байт, как это имеет место в блочных шифрах. Декодирование заскремблированных последовательностей происходит по той же самой схеме, что и кодирование. Именно для этого в алгоритмах применяется результирующее кодирование по "исключающему ИЛИ" – схема, однозначно восстановимая при раскодировании без каких-либо дополнительных вычислительных затрат. Как Вы можете догадаться, главная проблема шифров на основе скремблеров – синхронизация передающего (кодирующего) и принимающего (декодирующего) устройств. При пропуске или ошибочном вставлении хотя бы одного бита вся передаваемая информация необратимо теряется. Поэтому, в системах шифрования на основе скремблеров очень большое внимание уделяется методам синхронизации. На практике для этих целей обычно применяется комбинация двух методов: • добавление в поток информации синхронизирующих битов, заранее известных приемной стороне, что позволяет ей при ненахождении такого бита активно начать поиск синхронизации с отправителем; • использование высокоточных генераторов временных импульсов, что позволяет в моменты потери синхронизации производить декодирование принимаемых битов информации "по памяти" без синхронизации. Число бит, охваченных обратной связью, то есть разрядность устройства памяти для порождающих кодирующую последовательность бит называется разрядностью скремблера. Изображенный выше скремблер имеет разрядность 5. В отношении параметров криптостойкости данная величина полностью идентична длине ключа блочных шифров, который будет проанализирован далее. На данном же этапе важно отметить, что чем больше разрядность скремблера, тем выше криптостойкость системы, основанной на его использовании. При достаточно долгой работе скремблера неизбежно возникает его зацикливание. По выполнении определенного числа тактов в ячейках скремблера создастся комбинация бит, которая в нем уже однажды оказывалась, и с этого момента кодирующая последовательность начнет циклически повторяться с фиксированным периодом. Данная проблема неустранима по своей природе, так как в N разрядах скремблера не может пребывать более 2N комбинаций бит, и, следовательно, максимум, через, 2N-1 циклов повтор комбинации обязательно произойдет. Комбинация "все нули" сразу же исключается из цепочки графа состояний скремблера – она приводит скремблер к такому же положению "все нули". Это указывает еще и на то, что ключ "все нули" неприменим для скремблера. Каждый генерируемый при сдвиге бит зависит только от нескольких бит хранимой в данный момент скремблером комбинации. Поэтому после повторения некоторой ситуации, однажды уже встречавшейся в скремблере, все следующие за ней будут в точности повторять цепочку, уже прошедшую ранее в скремблере. Рис.4. Возможны различные типы графов состояния скремблера. На рис. 4 приведены примерные варианты для 3-разрядного скремблера. В случае, изображенном на рис. 4а, кроме всегда присутствующего цикла "000">>"000" мы видим еще два цикла – с 3-мя состояниями и 4-мя. На рис. 4б мы видим цепочку, которая сходится к циклу из 3-х состояний и уже никогда оттуда не выходит. И наконец, на рис. 4в все возможные состояния кроме нулевого, объединены в один замкнутый цикл. Очевидно, что именно в этом случае, когда все 2N-1 состояний системы образуют цикл, период повторения выходных комбинаций максимален, а корреляция между длиной цикла и начальным состоянием скремблера (ключом), которая привела бы к появлению более слабых ключей, отсутствует. И вот здесь математика преподнесла прикладной науке, каковой является криптография, очередной подарок. Следствием одной из теорем доказывается (в терминах применительно к скремблированию), что для скремблера любой разрядности N всегда существует такой выбор охватываемых обратной связью разрядов, что генерируемая ими последовательность бит будет иметь период, равный 2N-1 битам. Так, например, в 8-битном скремблере, при охвате 0-го, 1-го, 6-го и 7-го разрядов действительно за время генерации 255 бит последовательно проходят все числа от 1 до 255, не повторяясь ни разу. Схемы с выбранными по данному закону обратными связями называются генераторами последовательностей наибольшей длины (ПНД), и именно они используются в скремблирующей аппаратуре. Из множества генераторов ПНД заданной разрядности во времена, когда они реализовывались на электрической или минимальной электронной базе выбирались те, у которых число разрядов, участвующих в создании очередного бита, было минимальным. Обычно генератора ПНД удавалось достичь за 3 или 4 связи. Сама же разрядность скремблеров превышала 30 бит, что давало возможность передавать до 240 бит = 100 Мбайт информации без опасения начала повторения кодирующей последовательности. ПНД неразрывно связаны с математической теорией неприводимых полиномов. Оказывается, достаточно чтобы полином степени N не был представим по модулю 2 в виде произведения никаких других полиномов, для того, чтобы скремблер, построенный на его основе, создавал ПНД. Например, единственным неприводимым полиномом степени 3 является x3+x+1, в двоичном виде он записывается как 10112 (единицы соответствуют значащим разрядам). Скремблеры на основе неприводимых полиномов образуются отбрасыванием самого старшего разряда (он всегда присутствует, а, следовательно, несет информацию только о степени полинома), так на основе указанного полинома, мы можем создать скремблер 0112 с периодом зацикливания 7 (23-1). Естественно, что на практике применяются полиномы значительно более высоких порядков. А таблицы неприводимых полиномов любых порядков можно всегда найти в специализированных математических справочниках. Существенным недостатком скремблирующих алгоритмов является их нестойкость к фальсификации. 5.5 Синхронные поточные шифры В синхронных поточных шифрах гамма формируется независимо от входной последовательности, каждый элемент (бит, символ, байт и т. п.) которой таким образом шифруется независимо от других элементов. Синхронные поточные шифры обладают следующими свойствами: • требования по синхронизации. При использовании синхронных поточных шифров получатель и отправитель должны быть синхронизированы – т.е. вырабатывать одинаковые значения ключевого потока для соответствующих знаков передаваемого потока данных. Если синхронизация нарушится (например, вследствие потери знака при передаче), процесс расшифрования не даст корректного результата. • отсутствие размножения ошибок. Изменение знака шифртекста при передаче не вызывает ошибок при расшифровании других знаков шифртекста. • свойство активной атаки. Как следствие первого свойства, любая вставка или удаление символа в шифртекст активным противником приводит к нарушению синхронизации и обнаруживается получателем, расшифровывающим сообщение. Как следствие второго свойства, активный противник может изменять символы шифртекста и эти изменения приведут к соответствующим изменениям в открытом тексте, получаемом при расшифровании. Посему необходимы дополнительные механизмы, позволяющие предотвратить это. На рис. 1 показан пример шифрования двоичной последовательности 11100101010110 с использованием гаммы формируемой 4-разрядным LFSR при начальном со­стоянии, равном 1001, Зашифрованная последовательность имеет вид 01001010010010. Рис. 1. Синхронное поточное шифрование с использованием LFSR Рис. 2. Синхронное поточное шифрование. Выпадение бита зашифрованной последовательности при передаче по каналу связи При отсутствии искажений в канапе связи после расшифрования с использо­ванием той же гаммы получается исходная последовательность. На рис. 2 рассмотрена ситуация, когда при передаче зашифрованной по­следовательности был потерян четвертый бит и вместо правильней последова­тельности к получателю пришла последовательность 0101010010010. Видно, что после расшифрования всех битов, следующих после выпавшего, происходят искажения информации. В результате вместо битовой строки 0101010110 будет получена строка 1101110000. На рис. 3 рассмотрена ситуация, когда при передаче зашифрованной последо­вательности произошло искажение пятого (1 → 0) и восьмого (0 → 1) битов и вме­сто правильной последовательности к получателю пришла последовательность 01000011010010. В самосинхронизирующихся поточных шифрах элементы входной последовательности зашифровываются с учетом N предшествующих элементов (рис. 4), которые принимают участие в формировании ключевой последовательности. В самосинхро­низирующихся шифрах имеет место эффект размножения ошибок, в то же время, в отличие от синхронных, восстановление синхронизации происходит автоматиче­ски через N элементов зашифрованной последовательности. На рис. 4 показан пример шифрования двоичной последовательности 11100111010100 с использованием 4-разрядного LFSR при начальном состоянии, равном 1001 Зашифрованная последовательность имеет вид 01011001111100. Рис. 3. Синхронное поточное шифрование. Искажение 2 битов Рис. 4. Самосинхронизирующееся поточное шифрование с использованием LFSR зашифрованной последовательности при передаче по каналу связи При отсутствии искажений в: канале связи после расшифрования получается исходная последовательность. 5.6 Самосинхронизирующихся поточные шифры Самосинхронизирующиеся шифры – каждый знак ключевого потока определяется фиксированным числом предшествующих знаков шифротекста. Схематично это можно изобразить так: Самосинхронизирующиеся поточные шифры обладают следующими свойствами: • Самосинхронизация. Самосинхронизация существует при удалении или вставке некоторых знаков шифртекста, поскольку процесс расшифрования зависит от некоторого фиксированного числа предшествующих знаков шифртектста. Это означает, что в случае удаления знака из шифртекста сначала будут ошибки при расшифровании, а затем все станет хорошо и ошибок не будет. • Ограниченное размножение ошибок. Предположим, что состояние шифра зависит от t предидущих знаков шифртекста. Если во время передачи один знак шифротекста был изменен или удален/вставлен, то при расшифровке будет искажено не более t знаков, после которых пойдет опять нормальный текст. • Свойство активной атаки. Из второго свойства следует, что любое изменение знаков шифртекста активным противником приведет к тому, что несколько знаков шифротекста расшифруются неправильно и это с большей (по сравнению с синхронными шифрами) веротностью будет замечено со стороны получателя, расшифровывающего сообщение. Однако в случае вставки или удаления знаков шифртекста (по свойству 1) это намного труднее обнаружить (по сравнению с синхронными шифрами – там получается рассинхронизация). Поэтому необходимы дополнительные механизмы для контроля этой ситуации. • Рассеивание статистики открытого текста. Поскольку каждый знак открытого текста влияет на весь последующий шифртекст, статистические свойства открытого текста (ведь он далеко не случаен) не сохраняются в шифртексте. На рис. 5 рассмотрена ситуация, когда при передаче зашифрованной по­следовательности был потерян третий, равный нулю бит и вместо правильной последовательности к получателю пришла последовательность 0111001111100. Видно, что после расшифрования вместо правильной строки будет получена строка 11101100010110 с искаженными пятым (0 → 1) и восьмым (1 → 0) битами. Видно, что после расшифрования может произойти искажение не более 4 бит (в общем случае не более N), следующих после выпавшего. В рассмотренном примере вместо 4-битовой строки 0011 будет получена строка 0010. Все осталь­ные биты будут приняты без искажений. На рис. 6 рассмотрена ситуация, когда при передаче зашифрованной по­следовательности произошло искажение первого (0 → 1) бита и вместо правиль­ной последовательности к получателю пришла последовательность 11011001111100. Рис. 5. Самосинхронизирующееся поточное шифрование. Выпадение бита зашифрованной последовательности при передаче по каналу связи Рис. 6. Самосинхронизирующееся поточное шифрование. Искажение бита зашифрованной последовательности при передаче по каналу связи Видно, что после расшифрования помимо неправильно принятого бита, соот­ветствующего искаженному, могут исказиться еще не более четырех последую­щих. В рассмотренном примере будет неправильно принят первый бит и вместо последующей правильной 4-битовой строки 1100 будет получена строка 1111. 5.7 Поточный шифр А5 А5 – поточный шифр, используемый в системах GSM (Group Special Mobile) для закрытия связи между абонентом и базовой станцией. Он является европей­ским стандартом для цифровых сотовых мобильных телефонов. Существует две версии: A5/1 — для некоторых европейских стран и A5/2 — для остальных (в том числе и РФ). А5 использует три LFSR длиной 19, 22 и 23 с прореженными многочленами обратной связи, т. е. с многочленами, имеющими небольшое число ненулевых коэффициентов. Выходом генератора гаммы является выход элемента «исключающее ИЛИ», на входы которого поступают последовательности с выходов трех LFSR, начальное заполнение которых является секретным сеансовым ключом. Исполь­зуется управление синхронизацией LFSR (рис. 1). Для управления синхронизацией используются биты с1, с2, с3 с выходов LFSR. В каждом такте сдвигаются как минимум два LFSR. Если с1 = с2 = с3, сдвигаются все 3 регистра, в противном случае сдвигаются те 2 регистра i и j, для которых выполняется равенство сi = сj. Криптоанализ алгоритма показал, что для определения начального заполне­ния LFSR при известных 64 битах гаммы требуется перебор 240 вариантов. Кро­ме того около 40% ключей приводят к циклу, длина которого наименьшая изо всех возможных и равна (223-1)4/3 бит. Рис. 1. Поточный шифр А5 Существует тривиальная атака на открытом тексте, основанная на предположении о содержании первых двух LFSR и попытке определения третьего LFSR по ключевой последовательности. Тем не менее, идеи, лежащие в основе А5, позволяют проектировать надежные поточные шифры. Алгоритм эффективен и удовлетворяет всем известным статистическим тестам, единственная его слабость — короткие регистры. Варианты А5 с более длинными сдвиговыми регистрами и более плотными многочленами обратной связи позволяют противостоять силовой атаке. 5.8 Поточный шифр RC4 RC4 — это потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (например, в протоколе SSL и для шифрования паролей в Windows NT). Шифр разработан компанией RSA Security Inc. и для его использования требуется лицензия. Автором RC4 является Рональд Райвест (Ronald Rivest). RC расшифровывается как Ron’s Code или Rivest’s Cipher. До 1995 года программный код RC4 нигде не публиковался. Алгоритм RC4 строится, как и любой потоковый шифр, на основе параметризованного ключом генератора псевдослучайных битов с равномерным распределением. Основные преимущества шифра — высокая скорость работы и переменный размер ключа. Типичная реализация выполняет 19 машинных команд на каждый байт текста. В США длина ключа для использования внутри страны рекомендуется равной 128 битов, но соглашение, заключённое между Software Publishers Association (SPA) и правительством США даёт RC4 специальный статус, который означает, что разрешено экспортировать шифры длиной ключа до 40 бит. 56-битные ключи разрешено использовать заграничным отделениям американских компаний. В 1995 году в группе sci.crypt был анонимно опубликован исходный текст алгоритма RC4. По-видимому, данный текст был получен в результате анализа исполняемого кода. Опубликованный шифр совместим с имеющимися продуктами, использующими RC4, а некоторые участники телеконференции, имевшие, по их словам, доступ к исходному коду RC4, подтвердили идентичность алгоритмов при различиях в обозначениях и структуре программы. Описание алгоритма Генератор ключевого потока RC4 Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует последовательность битов, которая затем объединяется с открытым текстом посредством суммирования по модулю два. Расшифровка состоит из регенерации этого ключевого потока и суммирования его с шифрограммой по модулю два, восстанавливая исходный текст. Другая главная часть алгоритма — функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока. RC4 — фактически класс алгоритмов, определяемых размером его блока. Этот параметр n является размером слова для алгоритма. Обычно, n = 8, но в целях анализа можно уменьшить его. Однако для повышения безопасности необходимо увеличить эту величину. Внутреннее состояние RC4 состоит из массива размером 2n слов и двух счетчиков, каждый размером в одно слово. Массив известен как S-бокс, и далее будет обозначаться как S. Он всегда содержит перестановку 2n возможных значений слова. Два счетчика обозначены через i и j. Алгоритм инициализации RC4 приведен ниже. Этот алгоритм использует ключ, сохраненный в Key, и имеющий длину l байт. Инициализация начинается с заполнения массива S, далее этот массив перемешивается путем перестановок определяемых ключом. Так как только одно действие выполняется над S, то должно выполняться утверждение, что S всегда содержит все значения кодового слова. Начальное заполнение массива: for i = 0 to 2n − 1 S[i] = i Скремблирование: j = 0 for i = 0 to 2n − 1 j = (j + S[i] + Key[i mod l]) mod 2n Перестановка (S[i], S[j]) Генератор ключевого потока RC4 переставляет значения, хранящиеся в S, и каждый раз выбирает различное значение из S в качестве результата. В одном цикле RC4 определяется одно n-битное слово K из ключевого потока, которое в последующем суммируется с исходным текстом для получения зашифрованного текста. Инициализация: i = 0 j = 0 Цикл генерации: i = (i + 1) mod 2n j = (j + S[i]) mod 2n Перестановка (S[i], S[j]) Результат: K = S[(S[i] + S[j]) mod 2n] Компания RSA Data Security, Inc. утверждает, что алгоритм устойчив к дифференциальному и линейному криптоанализу и что он в высокой степени нелинеен. S-блок медленно изменяется при использовании: i и j обеспечивают случайное изменение каждого элемента. RC4 входит в десятки коммерческих продуктов, включая Lotus Notes, AOCE компании Apple Computer и Oracle Secure SQL. Этот алгоритм также является частью спецификации стандарта Сотовой цифровой пакетной передачи данных CDPD (Cellular Digital Packet Data). 5.9 Поточный шифр SEAL SEAL — это эффективный поточный шифр, разработанный в IBM Рогэвэем (P. Rogaway) и Копперсмитом (D. Coppersmith). Алгоритм оптимизирован для 32-битовых процессоров. Для нормальной работы ему нужно восемь 32-битовых регистров и память на несколько килобайтов. В SEAL предусмотрен ряд предварительных действий с ключом с сохранением результатов в нескольких таблицах. Таблицы используются для ускорения процедур шифрования и дешифрования. Особенностью SEAL является то, что он в действительности является не традиционным поточным шифром, а представляет собой семейство псевдослучайных функций. При 160-битовом ключе k и 32-битовом регистре n, SEAL растягивает n в L-битовую строку k(n). L может принимать любое значение, меньшее 64 Кбайт. SEAL использует следующее правило: если k выбирается случайным образом, то k(n) должно быть неотличимо от случайной L-битовой функции n. Практический эффект того, что SEAL является семейством псевдослучайных функций, состоит в том, что он удобен в ряде приложений, где не применимы традиционные поточные шифры. При использовании большинства поточных шифров создается однонаправленная последовательность бит: единственным способом определить i-й бит (зная ключ и позицию i) является генерирование всех битов вплоть до i-го. Отличие семейства псевдослучайных функций состоит в том, что можно легко получить доступ к любой позиции ключевой последовательности. Например, для шифрования жесткого диска, состоящего из множества 512-байтовых секторов, можно воспользоваться семейством псевдослучайных функций, подобных SEAL, и выполнить XOR каждого сектора с k(n). Это то же самое, как если бы была выполнена операция XOR всего диска с длинной псевдослучайной функцией, причем любая часть этой длинной последовательности бит может быть вычислена независимо. Семейство псевдослучайных функций также упрощает проблему синхронизации, встречающуюся в стандартных поточных шифрах, — можно зашифровать на ключе k n-е передаваемое сообщение хn, выполнив XOR хn и k(n). Получателю не нужно хранить состояние шифра для восстановления хn, ему не приходится беспокоиться и о потерянных сообщениях, влияющих на процесс дешифрования. 5.10 Защита сотовой мобильной связи Мало кто задумывается, что сотовый телефон достаточно слабо защищен от прослушивания, поскольку перехватить радиосигналы, использующиеся для передачи речи, можно с помощью довольно простого оборудования. Конечно, простым радиолюбителям прослушать разговор, ведущийся по сотовому телефону, не так уж легко – все-таки информация передается в зашифрованном виде. Однако, криптоалгоритмы, использующиеся для этого достаточно слабы, а поэтому их реально взломать с помощью специального оборудования. Ну, а если учесть, что во время проведения крупных праздников или каких-либо операций спецслужбы могут заставить операторов сотовой связи вообще отключить шифрование речи, то становится понятно, что защита от прослушивания нужна. Причем она необходима не только нечистым на руку бизнесменам, но и законопослушным гражданам. Все-таки в России, впрочем, как и во всем остальном "цивилизованном" мире, конкуренты в целях "подсадить" соперников зачастую используют незаконные методы борьбы. На сегодняшний день существует несколько различных технологий, позволяющих защитить переговоры по сотовому телефону от прослушивания. Попробуем рассмотреть их, а также оценить эффективность и стоимость внедрения этих технологий. Скремблер для сотового телефона Скремблер – это устройство, осуществляющее шифрование передаваемой по каналам связи речи. Речь идет, конечно же, не о криптографии, используемой в сотовых сетях, а о действительно надежной защите. Скремблер присоединяется прямо к телефону и в выключенном состоянии никак себя не проявляет. Но стоит владельцу аппарата включить его, как он тут же начинает принимать все сигналы, идущие с микрофона, шифровать их и только после этого отсылать на выход. Декодирование речи происходит в обратном порядке. Сигналы с антенны подаются в скремблер, а уже оттуда – на динамик. Основным достоинством скремблеров является высокая надежность защиты. В современных устройствах реализованы криптоалгоритмы, отвечающие всем требованиям. Кроме того, скремблеры позволяют защититься от любого способа прослушивания сотовых телефонов, в том числе и от специального оборудования, установленного у оператора. К сожалению, есть у этой технологии и недостатки. И самый главный из них – необходимость обоим абонентам иметь совместимые устройства для проведения приватной беседы. А если учесть число компаний, работающих в этой области, то становится понятно, что для защиты разговоров людям придется заранее договариваться о выборе той или иной разработки. Естественно, это существенно сужает область использования скремблеров: никто не будет покупать дорогое устройство ради одного-двух звонков. Так что скремблеры в первую очередь будут полезны деловым людям, постоянно ведущим переговоры друг с другом, то есть партнерам по бизнесу или руководителям высшего звена какой-либо компании. На сегодняшний день на рынке представлено немало скремблеров для сотовых телефонов. Примечательно, что цена на них колеблется в очень широких пределах – от 500 до 2000 долларов. Впрочем, если приглядеться, то такой разброс становится вполне понятным. Стоимость зависит от надежности реализованной в устройстве защиты. Самые дешевые аппараты используют простые алгоритмы шифрования, которые могут быть взломаны при помощи специального оборудования. Кроме того, их разработчики зачастую даже не сообщают, какие технологии они использовали в своих продуктах и каковы их характеристики. Впрочем, если вашими переговорами не будут интересоваться спецслужбы, крупные преступные формирования или большие компании, то скремблера из этой группы будет вполне достаточно для защиты. Более дорогие устройства используют хорошие алгоритмы, но с недостаточной на сегодняшний день длиной ключа (128 бит). Ну, а если человеку нужна действительно надежная защита, то ему придется обратить свое внимание на устройства, отвечающие самым современным требованиям и прошедшие сертификацию в соответствующих органах. Правда, за каждый аппарат, удовлетворяющий этим условиям, придется выложить не менее 1800 долларов. Криптофоны Криптофоны появились в продаже совсем недавно. Они представляют собой обычные смартфоны с дополнительным программным обеспечением. Россиянам доступно только одно из подобных устройств, являющееся разработкой немецкой компании Cryptophone. В принципе, суть криптофона ничем не отличается от принципа работы скремблеров. Точно также сигналы с микрофона оцифровываются, кодируются и отправляются в сеть сотовой связи в зашифрованном виде. Вся разница заключается в способе реализации этой технологии. Главным преимуществом немецкого криптофона является то, что при его разработке были использованы два широко известных алгоритма шифрования: Advanced Encryption Standard (AES) и Twofish, оба с ключами длиной 256 бит, распределяемыми по системе Диффи-Хеллмана (с собственным ключом длиной 4096 бит). Все это говорит об исключительной надежности защиты, устанавливаемой этим устройством. Кроме того, представители Cryptophone особо подчеркивают тот факт, что их компания является исключительно коммерческой организацией и не имеет никаких связей с государственными структурами. Так что их клиенты могут не опасаться, что у спецслужб будут какие-то "закладки", позволяющие легко прослушивать разговоры, которые ведутся с помощью криптофонов. В Германии появление этого устройства спровоцировало даже серьезные дискуссии по поводу того, стоит ли вообще разрешать свободную продажу аппаратов, которые позволяют вести неконтролируемые переговоры. В общем, люди, которым нужна действительно безопасная связь, вполне могут обратить свое внимание на криптофоны. Немецкая компания продает их через свой интернет-магазин и обещает отослать в любую страну мира. Правда, стоит это удовольствие весьма и весьма недешево. Комплект из двух криптофонов обойдется покупателю примерно в 3500 евро. Правда, за эти деньги он получит не только безопасную связь, но и карманный компьютер, который может служить переводчиком и органайзером, на котором можно играть и создавать документы. Впрочем, все эти возможности нужны немногим людям. Большая часть предпочтет относительно большому смартфону миниатюрный сотовый телефон, пользоваться которым гораздо удобней. Так что в этом плане скремблеры оказываются предпочтительней. Тем более что они позволяют делать защищенные звонки не только на мобильные, но и на обычные, стационарные телефоны (если, конечно, последние оборудованы скремблерами того же производителя). Маскиратор Маскираторы речи работают по совершенно иному принципу, нежели скремблеры и криптофоны. Вообще-то, эта технология предназначена для стационарных телефонов, именно к ним и подключаются сами устройства. Но они позволяют защищать все разговоры, в котором участвует данные аппараты и любые другие, в том числе и сотовые, абоненты. Происходит это следующим образом. После включения защиты маскиратор подает в линию специальным образом сгенерированный шум, который распространяется по всему каналу связи. Таким образом, злоумышленник, пытающийся прослушать разговор, получит только беспорядочный набор звуков. Ну а маскиратор "знает" характеристики созданных им помех. И он накладывает на сигналы специальный фильтр, который компенсирует шум, вычленяя из них речь абонента. Однако и этот тип устройств обладает своими недостатками. Речь идет о том, что эти устройства могут устанавливать только одностороннюю защиту. Ведь на сотовом телефоне нет компенсатора помех. А это значит, что на него нужно присылать нормальные, "незашумленные" сигналы, которые злоумышленники могут перехватить. Так что закрытыми от прослушивания оказывается только речь абонента с сотовым телефоном, реплики же владельца стационарного аппарата с установленной защитой оказываются незащищенными. Это, конечно же, очень большой минус рассматриваемой технологии. Однако данный недостаток может компенсироваться возможностью вести защищенные разговоры со всеми людьми независимо от типа их телефонов и без необходимости установки средств защиты у абонентов. Разброс цен маскираторов речи от различных производителей достаточно большой. За самые дешевые устройства покупателям придется заплатить всего 100-150 долларов. Такие аппараты используют шумы, сгенерированные случайным образом. В принципе, они поддаются дешифровке, хотя это и требует специальных технических средств и серьезных знаний. Другие маскираторы имеют цену в пределах 700-800 долларов. Они для защиты смыслового сигнала используют речеподобные шумы. Таким образом, анализ перехваченного трафика становится практически невыполнимым. Маскираторы речи – достаточно привлекательные устройства для многих компаний. Ведь для того, чтобы принимать закрытые сообщения от любых, в том числе и сотовых, абонентов необходимо установить защиту всего лишь на один офисный телефон. Правда, они не могут помочь в ведении деловых переговоров, поскольку в этом случае одной из сторон вряд ли удастся использовать в беседе только ничего не значащие фразы. Таким образом, для защиты деловых переговоров, ведущихся по сотовому телефону, больше всего подходят скремблеры. Они подключаются к уже существующему аппарату и не требуют от его владельца практически никаких действий. Криптофоны – более сложные устройства. Они больше всего подходят людям, которые привыкли пользоваться карманными компьютерами и извлекать из этого пользу. Им наверняка придется по вкусу совмещение защищенного телефона и КПК в одном аппарате. Ну а если руководителю необходимо, чтобы сотрудники его компании имели возможность в любой момент позвонить в офис со своего сотового телефона и в закрытом режиме оперативно сообщить какую-то важную информацию, то в этом случае не обойтись без маскиратора речи. Это, собственно, и есть основные способы защиты сотовых телефонов от прослушивания. К сожалению, их внедрение требует достаточно значительных затрат, что ограничивает область применения описанных устройств корпоративным сектором. ====================================================================================== ВОПРОСЫ: 1. Исключающее «ИЛИ» 2. Абсолютно стойкие шифры 3. Гаммирование 4. Скремблирование 5. Синхронные поточные шифры 6. Самосинхронизирующиеся поточные шифры 7. Поточный шифр А5 8. Поточный шифр RC4 9. Поточный шифр SEAL 10. Защита сотовой мобильной связи 6. Симметричные криптоалгоритмы. Блочные шифры 6.1 Общие сведения о блочных шифрах Архитектуры блочных шифров безоговорочно доминируют в традиционной криптографии на нынешнем этапе ее развития. Сильный блочный шифр должен обладать свойствами рассеивания и перемешивания, и что главная идея в построении таких шифров – использование последовательности большого числа простых шифрующих преобразований. Под простым шифрующим преобразованием понимается такое преобразование, который реализуется аппаратно относительно несложной логической схемой или программно несколькими компьютерными командами. Можно выделить следующие группы простых шифров: • шифр перестановок – заключается в перестановках структурных элементов шифруемого блока данных – битов, символов, цифр; • шифр замен – заключается в замене одних значений на другие по индексной таблице, замене подвергаются группы элементов шифруемого блока – битов или символов; • шифр функциональных преобразований – заключается в выполнении сдвигов, логических и арифметических операций над элементами данных. Шифры перестановок чрезвычайно просто реализуются аппаратно – разводкой проводников на плате или в кристалле, при этом совсем не требуется каких-либо дополнительных затрат, так как проводники, связывающие регистры аппаратуры, так или иначе присутствуют в схеме. В то же самое время эти преобразования очень неэффективно реализуются программно на процессорах общего назначения. Как правило, вычислительные затраты составляют не менее двух машинных команд на каждый двоичный разряд в модифицируемом блоке, если только в перестановках нет согласованности. Этой причиной, в частности, объясняется тот факт, что многие шифры, широко использующие операции данного типа, имеют при прочих равных условиях существенно менее эффективные реализации по сравнению с шифрами, их не использующими. Например, американский стандарт шифрования – криптоалгоритм DES – при вдвое меньшем количестве шагов в цикле шифрования по сравнению с Российским ГОСТ 28147-89 (16 против 32) имеет примерно вдвое более медленную оптимальную реализацию для процессоров Intel x86. Общие виды замен аппаратно реализуются с помощью запоминающих устройств, программно – индексированным чтением из оперативной памяти, что, по сути, одно и то же: замена для элемента данных x берется из вектора или узла замен V, являющегося массивом заменяющих значений, индексированным заменяемым элементом данных: x заменяется на y = V[x]. Программно такая операция реализуется за одну команду, не считая операции загрузки индекса в соответствующий регистр. Размер памяти, необходимый для хранения вектора заменяющих, определяется следующим соотношением: |V| = 2|X|*|Y|, где |X| и |Y| – размеры заменяемого и заменяющего блоков в битах соответственно, размер вектора замен V также получается в битах. Из приведенной формулы видно, что он растет экспоненциально с ростом размера заменяемого блока. В силу этого выполнение подстановки в масштабах всего шифруемого блока невозможно – потребовался бы слишком большой объем памяти для хранения вектора. Поэтому преобразуемый блок данных разделяют на фрагменты, обычно одинакового размера, и выполняют замену в этих подблоках независимо друг от друга. Для повышения стойкости шифра замену различных частей шифруемого блока следует выполнять с использованием разных векторов замен, которые все вместе составляют таблицу подстановок или таблицу замен. Функциональные преобразования – это унарные и бинарные логические и арифметические операции, реализуемые аппаратно логическими схемами, а программно – одной-двумя компьютерными командами. Теоретически, возможно использовать любую операцию, которая может быть сформулирована в терминах логических функций. Однако на практике дело всегда ограничивается теми из них, которые имеются в наборах команд универсальных процессоров и реализованы аппаратно в виде микросхем. Рассмотрим принцип работы блочного шифра. Входом в блочный шифр и результатом его работы является блок длины n — последовательность, состоящая из n бит. Число n постоянно. При необходимости шифрования сообщения длиной, большей n, оно разбивается на блоки, каждый из которых шифруется отдельно. Различные режимы работы связаны с дополнительными усложнениями блочного шифра при переходах от блока к блоку. Характерной особенностью блочных криптоалгоритмов является тот факт, что в ходе своей работы они производят преобразование блока входной информации фиксированной длины и получают результирующий блок того же объема, но недоступный для прочтения сторонним лицам, не владеющим ключом. Таким образом, схему работы блочного шифра можно описать функциями Z = EnCrypt(X,Key) и X = DeCrypt(Z,Key). Ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Исходный X и зашифрованный Z блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа. Блочные шифры являются основой, на которой реализованы практически все криптосистемы. Методика создания цепочек из зашифрованных блочными алгоритмами байт позволяет шифровать ими пакеты информации неограниченной длины. Следующие разработки всемирно признаны стойкими алгоритмами и публикаций о универсальных методах их взлома в средствах массовой информации на момент создания материала не встречалось. Название алгоритма Автор Размер блока Длина ключа IDEA Xuejia Lia, James Massey 64 бита 128 бит CAST128 64 бита 128 бит BlowFish Bruce Schneier 64 бита 128 – 448 бит TwoFish Bruce Schneier 128 бит 128 – 256 бит MARS Корпорация IBM 128 бит 128 – 1048 бит Криптоалгоритм именуется идеально стойким, если прочесть зашифрованный блок данных можно только перебрав все возможные ключи, до тех пор, пока сообщение не окажется осмысленным. Так как по теории вероятности искомый ключ будет найден с вероятностью 1/2 после перебора половины всех ключей, то на взлом идеально стойкого криптоалгоритма с ключом длины N потребуется в среднем 2N-1 проверок. Таким образом, в общем случае стойкость блочного шифра зависит только от длины ключа и возрастает экспоненциально с ее ростом. Даже предположив, что перебор ключей производится на специально созданной многопроцессорной системе, в которой благодаря диагональному параллелизму на проверку 1-го ключа уходит только 1 такт, то на взлом 128-битного ключа современной технике потребуется около 1020 лет. Естественно, все сказанное относится только к идеально стойким шифрам, которыми, например, с большой долей уверенности являются приведенные в таблице выше алгоритмы. Кроме этого условия к идеально стойким криптоалгоритмам применяется еще одно очень важное требование, которому они должны обязательно соответствовать. При известных исходном и зашифрованном значениях блока ключ, которым произведено это преобразование, можно узнать также только полным перебором. Ситуации, в которых постороннему наблюдателю известна часть исходного текста, встречаются повсеместно. Это могут быть стандартные надписи в электронных бланках, фиксированные заголовки форматов файлов, довольно часто встречающиеся в тексте длинные слова или последовательности байт. В свете этой проблемы описанное выше требование не является ничем чрезмерным и также строго выполняется стойкими криптоалгоритмами, как и первое. Таким образом, на функцию стойкого блочного шифра Z=EnCrypt(X,Key) накладываются следующие условия: 1. Функция EnCrypt должна быть обратимой. 2. Не должно существовать иных методов прочтения сообщения X по известному блоку Z, кроме как полным перебором ключей Key. 3. Не должно существовать иных методов определения каким ключом Key было произведено преобразование известного сообщения X в сообщение Z, кроме как полным перебором ключей. Давайте рассмотрим методы, с помощью которых разработчики блочных криптоалгоритмов добиваются одновременного выполнения этих трех условий с очень большой долей достоверности. Все действия, производимые над данными блочным криптоалгоритмом, основаны на том факте, что преобразуемый блок может быть представлен в виде целого неотрицательного числа из диапазона, соответствующего его разрядности. Так, например, 32-битный блок данных можно интерпретировать как число из диапазона 0 … 4 294 967 295. Кроме того, блок, разрядность которого обычно является "степенью двойки", можно трактовать как несколько независимых неотрицательных чисел из меньшего диапазона (рассмотренный выше 32-битный блок можно также представить в виде 2 независимых чисел из диапазона 0..65535 или в виде 4 независимых чисел из диапазона 0..255). 6.2 Битовые операции Над этими числами блочным криптоалгоритмом и производятся по определенной схеме следующие действия (слева даны условные обозначения этих операций на графических схемах алгоритмов): Биективные (обратимые) математические функции Сложение X'=X+V Исключающее ИЛИ X'=X XOR V Умножение по модулю 2N X'=(X*V) mod (2N) Битовые сдвиги Арифметический сдвиг влево X'=X SHL V Арифметический сдвиг вправо X'=X SHR V Циклический сдвиг влево X'=X ROL V Циклический сдвиг вправо X'=X ROR V Табличные подстановки S-box (англ. substitute) X'=Table[X,V] В качестве параметра V для любого из этих преобразований может использоваться: 1. фиксированное число (например, X'=X+125); 2. число, получаемое из ключа (например, X'=X+F(Key)); 3. число, получаемое из независимой части блока (например, X2'=X2+F(X1)). Последний вариант используется в схеме, названной по имени ее создателя сетью Фейштеля (нем. Feistel). Логическое сложение Логическое сложение (дизъюнкция) – двуместная логическая операция, по своему применению максимально приближённая к союзу «или» в смысле «или то, или это, или оба сразу». Синонимы: логи́ческое «ИЛИ», включа́ющее «ИЛИ», логи́ческое сложе́ние, иногда просто «ИЛИ». Дизъюнкция может быть бинарной операцией, то есть, иметь два операнда, тринарной операцией, т.е. иметь три операнда или n-арной операцией, т.е. иметь n операндов. Запись может быть префиксной – знак операции стоит перед операндами, инфиксной – знак операции стоит между операндами или постфиксной – знак операции стоит после операндов. При числе операндов более 2-х префиксная и постфиксная записи экономичнее. Чаще всего встречаются следующие варианты записи: a || b, a | b, a b, a + b, a OR b. В булевой алгебре дизъюнкция — это функция двух, трёх или более переменных (они же — операнды операции, они же – аргументы функции). Правило: результат равен 0, если все операнды равны 0; во всех остальных случаях результат равен 1. Таблица истинности a b ab 1 1 1 1 1 1 1 Бинарной дизъюнкции соответствует бинарная функция f(10,1,1110)2(x,y) = f(2,1,14)10(x,y). Таблица истинности для тринарной (трёхоперандной) дизъюнкции: X Y Z X Y Z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Тринарной дизъюнкции соответствует тринарная функция f(11,1,11111110)2(x,y) = f(3,1,254)10(x,y). Умножение по модулю n Обозначение операции — (A*B) mod n — это остаток от деления произведения A*B на n, где A и B — перемножаемые числа. В персональных компьютерах на платформе x86 при перемножении двух m-разрядных чисел получается число разрядностью 2*m. Чтобы получить остаток от деления на 2m нужно отбросить m старших бит. Битовые сдвиги К битовым операциям также относят битовые сдвиги. При сдвиге значения битов копируются в соседние по направлению сдвига. Различают несколько видов сдвигов — логический, арифметический и циклический, в зависимости от обработки крайних битов. Также различают сдвиг влево (в направлении от младшего бита к старшему) и вправо (в направлении от старшего бита к младшему). Логический сдвиг При логическом сдвиге значение последнего бита по направлению сдвига теряется (копируясь в бит переноса), а первый приобретает нулевое значение. Логические сдвиги влево и вправо используются для быстрого умножения и деления на 2, соответственно. Арифметический сдвиг (правый) Арифметический сдвиг аналогичен логическому, но значение слова считается знаковым числом представленному дополнительным кодом. Так при правом сдвиге старший бит сохраняет свое значение. Левый арифметический сдвиг идентичен логическому. Циклический сдвиг При циклическом сдвиге, значение последнего бита по направлению сдвига копируется в первый бит (и копируется в бит переноса). Циклический сдвиг через перенос Также различают циклический сдвиг через бит переноса — при нём первый бит по направлению сдвига получает значение из бита переноса, а значение последнего бита сдвигается в бит переноса. Табличные подстановки (S-box) Блок подстановок (S-блок) состоит из дешифратора, преобразующего n-разрядный двоичный сигнал в одноразрядный сигнал по основанию 2n, системы коммутаторов внутренних соединений (всего соединений 2n!) и шифратора, переводящего сигнал из одноразрядного 2n-ричного в n-разрядный двоичный. Анализ n-разрядного S-блока, при большом n крайне сложен, однако реализовать такой блок на практике очень сложно, так как число возможных соединений крайне велико (2n!). На практике блок подстановок используется как часть более сложных систем. В общем случае S-блок может иметь несовпадающее число входов/выходов, в этом случае в системе коммутации от каждого выхода дешифратора может идти не строго одно соединение, а 2 или более или не идти вовсе. То же самое справедливо и для входов шифратора. В электронике можно непосредственно применять приведённую справа схему, в программировании же генерируют таблицы замены. Оба этих подхода являются эквивалентными, то есть файл, зашифрованный на компьютере, можно расшифровать на электронном устройстве и наоборот. Таблица замены для приведённого 3-разрядного S-блока № комбинации 1 2 3 4 5 6 7 Вход 000 001 010 011 100 101 110 111 Выход 010 110 000 001 011 100 111 101 Последовательность выполняемых над блоком операций, комбинации перечисленных выше вариантов V и сами функции F и составляют "ноу-хау" каждого конкретного блочного криптоалгоритма. Размер блоков и длина ключа современных на 1999 год алгоритмов были рассмотрены ранее. Один-два раза в год исследовательские центры мира публикуют очередной блочный шифр, который под яростной атакой криптоаналитиков либо приобретает за несколько лет статус стойкого криптоалгоритма, либо (что происходит неизмеримо чаще) бесславно уходит в историю криптографии. Характерным признаком блочных алгоритмов является многократное и косвенное использование материала ключа. Это диктуется в первую очередь требованием невозможности обратного декодирования в отношении ключа при известных исходном и зашифрованном текстах. Для решения этой задачи в приведенных выше преобразованиях чаще всего используется не само значение ключа или его части, а некоторая, иногда необратимая (небиективная) функция от материала ключа. Более того, в подобных преобразованиях один и тот же блок или элемент ключа используется многократно. Это позволяет при выполнении условия обратимости функции относительно величины X сделать функцию необратимой относительно ключа Key. Поскольку операция зашифровки или расшифровки отдельного блока в процессе кодирования пакета информации выполняется многократно (иногда до сотен тысяч раз), а значение ключа и, следовательно, функций Vi(Key) остается неизменным, то иногда становится целесообразно заранее однократно вычислить данные значения и хранить их в оперативной памяти совместно с ключом. Поскольку эти значения зависят только от ключа, то оин в криптографии называются материалом ключа. Необходимо отметить, что данная операция никоим образом не изменяет ни длину ключа, ни криптостойкость алгоритма в целом. Здесь происходит лишь оптимизация скорости вычислений путем кеширования (англ. caching) промежуточных результатов. Описанные действия встречаются практически во многих блочных криптоалгоритмах и носят название расширение ключа (англ. key scheduling) 6.3 Сеть Фейштеля Сеть Фейштеля (нем. Fastel) является модификацией метода смешивания текущей части шифруемого блока с результатом некоторой функции, вычисленной от другой независимой части того же блока. Эта методика получила широкое распространение, поскольку обеспечивает выполнение требования о многократном использовании ключа и материала исходного блока информации. Независимые потоки информации, порожденные из исходного блока, называются ветвями сети. В классической схеме их две. Величины Vi именуются параметрами сети, обычно это функции от материала ключа. Функция F называется образующей. Действие, состоящее из однократного вычисления образующей функции и последующего наложения ее результата на другую ветвь с обменом их местами, называется циклом или раундом (англ. round) сети Фейштеля. Оптимальное число раундов K – от 8 до 32. Важно то, что увеличение количества раундов значительно увеличивает криптоскойстость любого блочного шифра к криптоанализу. Возможно, эта особенность и повлияла на столь активное распространение сети Фейштеля – ведь при обнаружении, скажем, какого-либо слабого места в алгоритме, почти всегда достаточно увеличить количество раундов на 4-8, не переписывая сам алгоритм. Часто количество раундов не фиксируется разработчиками алгоритма, а лишь указываются разумные пределы (обязательно нижний, и не всегда – верхний) этого параметра. Сразу же возникает вопрос, – является ли данная схема обратимой? Очевидно, да. Сеть Фейштеля обладает тем свойством, что даже если в качестве образующей функции F будет использовано необратимое преобразование, то и в этом случае вся цепочка будет восстановима. Это происходит вследствие того, что для обратного преобразования сети Фейштеля не нужно вычислять функцию F-1. Рис.1. Более того, как нетрудно заметить, сеть Фейштеля симметрична. Использование операции XOR, обратимой своим же повтором, и инверсия последнего обмена ветвей делают возможным раскодирование блока той же сетью Фейштеля, но с инверсным порядком параметров Vi. Заметим, что для обратимости сети Фейштеля не имеет значение является ли число раундов четным или нечетным числом. В большинстве реализаций схемы, в которых оба вышеперечисленные условия (операция XOR и уничтожение последнего обмена) сохранены, прямое и обратное преобразования производятся одной и той же процедурой, которой в качестве параметра передается вектор величин Vi либо в исходном, либо в инверсном порядке. Рис.2. Рис.3. С незначительными доработками сеть Фейштеля можно сделать и абсолютно симметричной, то есть выполняющей функции шифрования и дешифрования одним и тем же набором операций. Математическим языком это записывается как "Функция EnCrypt тождественно равна функции DeCrypt". Если мы рассмотрим граф состояний криптоалгоритма, на котором точками отмечены блоки входной и выходной информации, то при каком-то фиксированном ключе для классической сети Фейштеля мы будем иметь картину, изображенную на рис.2а, а во втором случае каждая пара точек получит уникальную связь, как изображено на рис. 2б. Модификация сети Фейштеля, обладающая подобными свойствами приведена на рисунке 3. Как видим, основная ее хитрость в повторном использовании данных ключа в обратном порядке во второй половине цикла. Необходимо заметить, однако, что именно из-за этой недостаточно исследованной специфики такой схемы (то есть потенциальной возможности ослабления зашифрованного текста обратными преобразованиями) ее используют в криптоалгоритмах с большой осторожностью. А вот модификацию сети Фейштеля для большего числа ветвей применяют гораздо чаще. Это в первую очередь связано с тем, что при больших размерах кодируемых блоков (128 и более бит) становится неудобно работать с математическими функциями по модулю 64 и выше. Как известно, основные единицы информации обрабатываемые процессорами на сегодняшний день – это байт и двойное машинное слово 32 бита. Поэтому все чаще и чаще в блочных криптоалгоритмах встречается сеть Фейштеля с 4-мя ветвями. Самый простой принцип ее модификации изображен на рисунке 4а. Для более быстрого перемешивания информации между ветвями (а это основная проблема сети Фейштеля с большим количеством ветвей) применяются две модифицированные схемы, называемые "type-2" и "type-3". Они изображены на рисунках 4б и 4в. Рис.4. Конечно, размер шифрующей и шифруемой части блока может изменяться от раунда к раунду, однако особого смысла в этом нет и обычно эти величины постоянны для конкретного криптоалгоритма. Если они равны друг другу, то такая схема называется сбалансированной, а если нет – то несбалансированной сетью Фейштеля. Сеть Фейштеля надежно зарекомендовала себя как криптостойкая схема произведения преобразований, и ее можно найти практически в любом современном блочном шифре. Незначительные модификации касаются обычно дополнительных начальных и оконечных преобразований (англоязычный термин – whitening) над шифруемым блоком. Подобные преобразования, выполняемые обычно также либо "исключающим ИЛИ" или сложением имеют целью повысить начальную рандомизацию входного текста. Таким образом, криптостойкость блочного шифра, использующего сеть Фейштеля, определяется на 95% функцией F и правилом вычисления Vi из ключа. Эти функции и являются объектом все новых и новых исследований специалистов в области криптографии. 6.4 Блочный шифр TEA Рассмотрим один из самых простых в реализации, но признанно стойких криптоалгоритмов – TEA (Tiny Encryption Algorithm). Параметры алгоритма: Размер блока – 64 бита. Длина ключа – 128 бит. В алгоритме использована сеть Фейштеля с двумя ветвями в 32 бита каждая. Образующая функция F обратима. Сеть Фейштеля несимметрична из-за использования в качестве операции наложения не "исключающего ИЛИ", а арифметического сложения. Отличительной чертой криптоалгоритма TEA является его размер. Простота операций, отсутствие табличных подстановок и оптимизация под 32-разрядную архитектуру процессоров позволяет реализовать его на языке ASSEMBLER в предельно малом объеме кода. Недостатком алгоритма является некоторая медлительность, вызванная необходимостью повторять цикл Фейштеля 32 раза (это необходимо для тщательного "перемешивания данных" из-за отсутствия табличных подстановок). Схема работы алгоритма приведена на рисунке 5. Рис.5. 6.5 Блочный шифр IDEA Смежные раунды в общей шифрующей сети должны как можно меньше походить друг на друга. Если между ними значение частей блока модифицируется с использованием ключевых элементов, операция, используемая для этого, должна как можно сильнее отличаться от операции комбинирования данных с модифицирующим блоком в раунде. Даже для различных операций одной и той же аддитивной группы отличий может оказаться недостаточно для получения нужной стойкости. Хорошим выходом в такой ситуации является использование операций иного типа, например, мультипликативных. Именно такой подход реализован в шифре IDEA. Понятно, что использование операции умножения может сильно снизить эффективность реализации алгоритма, особенно на относительно несложных микропроцессорах, микроконтроллерах и однокристальных ЭВМ. Вот почему данный тип шифров является скорее экзотикой, чем распространенным явлением. Имеется всего один широко известный и используемый представитель этого класса шифров – IDEA. Название/статус IDEA (International Decryption-Encryption Algorithm) Время/место разработки 1990-1991 годы, Цюрих, Швейцария. Авторы Xuejia Lai, James Massey. Архитектура Общая сбалансированная шифрующая SP-сеть*, инвариант раунда – побитовая сумма по модулю 2 старшей и младшей половин блока. Параметры pазмер блока 64 бита pазмер ключа 128 бит число раундов 8 Патент Компания Аском (Ascom), Берн, Швейцария. Запатентован в США (патент № 5214703, действует c 16.05.1991 по 25.05.2010), Европе (патент № 0482154, действует с 16.05.1991 по 16.05.2011) и Японии (патент № 508119/1991, действует с 16.05.1991). Изделия, использующие алгоритм, могут свободно распространяться на некоммерческой основе, также их можно продавать в государствах, не признающих патентов перечисленных выше стран и регионов. Во всех остальных случаях требуется лицензия компании Аском. Особенности Использование шифрующих SP-сетей общего типа с раундом, являющимся побитовой суммой по модулю 2 старшей и младшей половин шифруемого блока, относительно сложная структура раунда при небольшом (8) их количестве, функция шифрования с использованием аддитивных и мультипликативных операций, прямая модификация шифруемого блока между раундами с использованием ключевых элементов, манипулирование четвертьблоками (16-битовыми целыми), отсутствие битовых перестановок и табличных подстановок – целиком "арифметический" алгоритм. Оптимизирован для 16-разрядных процессоров с быстрой командой умножения. Очень простая схема выработки раундовых ключевых элементов из ключа. Ресурсы • данные по алгоритму на сайте компании Ascom http://www.ascom.com/infosec/idea.html • суперкомпактное (но полное) описание алгоритма http://www.ugr.es/~aquiran/cripto/protocol/idea.htm • Материалы по IDEA из приложения к "Прикладной Криптографии" Шнайера ftp://idea.sec.dsi.unimi.it/pub/security/crypt/applied-crypto/ • различные материалы по IDEA (FTP) ftp://ftp.replay.com/pub/replay/pub/crypto/LIBS/idea/ • описания алгоритма в .ps-формате (FTP) ftp://ftp.funet.fi/pub/crypt/cryptography/papers/idea.chap.3.ps.gz *) SP-сеть (Substitution-permutation network) – подстановочно-перестановочная сеть. Будет рассмотрена ниже. 6.6 Блочный шифр Blowfish Криптостойкость последовательности ключевых элементов является необязательным, но весьма полезным ее свойством, так как сама по себе гарантирует выполнение двух вышеприведенных требований. Возможны различные подходы к выработке ключевых элементов для шагов шифрования – от самых простых, до обладающих сложностью, сопоставимой со сложностью самого шифра. Например, в качестве ключевых элементов для шагов шифрования можно просто брать фрагменты ключа, как это делается в отечественном стандарте шифрования. Можно вырабатывать ключевые элементы с помощью генератора псевдослучайных чисел. Здесь спектр возможных решений чрезвычайно широк – от сравнительно несложных схем выработки гаммы на основе сдвиговых регистров с обратной связью до генерации последовательности элементов с помощью того же самого криптоалгоритма. Последний подход и реализован в шифре BLOWFISH. Конечно, он значительно увеличивает стойкость шифра, но и существенно затрудняет его эффективную реализацию. Например, в BLOWFISH построение массива ключевых элементов вычислительно эквивалентно выполнению более 500 циклов шифрования, что делает его непригодным для реального практического использования всюду за исключением систем, в которых смена ключа происходит достаточно редко, и объемы массивов, шифруемых на одном ключе, велики. Название/статус Blowfish Время/место разработки 1993 год Авторы Брюс Шнайер Архитектура Сбалансированная сеть Фейштеля. Параметры pазмер блока 64 бита pазмер ключа 32-448 бит число раундов 16 Патент Не запатентован Особенности Использование необратимых подстановок, зависимость узлов замен от ключа, большой размер узлов замен (используются 4 узла замен 8-в-32 бита, зависящих от ключа), переменный размер ключа от 32 до 448 бит, сложная схема выработки ключевых элементов – подготовка ключевых элементов требует выполнения 521 цикла шифрования, что существенно затрудняет переборную атаку на алгоритм, однако делает его непргодным для использования в системах, где ключ часто меняется и на каждом ключе шифруется небольшие по объему данные. Алгоритм лучше всего подходит для систем, в которых на одном и том же ключе шифруются большие массивы данных. Ресурсы • данные по алгоритму на сайте компании Counterpane Systems http://www.counterpane.com/blowfish.html • описания алгоритма на русском языке http://oasis.secna.ru/russian/students/54kkl&54gun/blowfish.htm • компактное описание алгоритма http://www.ugr.es/~aquiran/cripto/protocol/blowfish.txt • куча различных материалов по BLOWFISHу (FTP) ftp://ftp.replay.com/pub/replay/pub/crypto/LIBS/blowfish/ 6.7 Стандарт DES Хорста Фейштеля по праву считают "дедушкой" современных блочных шифров. Работая в 70-е годы в исследовательской лаборатории корпорации IBM, он создал шифр "Люцифер", на основе которого позже был создан криптоалгоритм, являющийся стандартом шифрования Соединенных Штатов и широко известный в мире под аббревиатурой DES. На нем основан международный стандарт ISO 8372-87. DES был поддержан Американским национальным институтом стандартов (American National Standards Institute, ANSI) и рекомендован для применения Американской ассоциацией банков (American Bankers Association, ABA). В стандарт входит описание блочного шифра, а также различных режимов его работы, как составной части нескольких процедур криптографического преобразования данных. Обычно под аббревиатурой DES понимается именно блочный шифр, который в стандарте соответствует процедуре шифрования в режиме электронной кодовой книги (ECB). Сходную архитектуру, названную в честь создателя "сетью Фейштеля", или близкую к ней архитектуру имели до недавнего времени все наиболее известные современные блочные шифры с секретным ключом. DES (Data Encryption Standart) это алгоритм с симметричными ключами, т.е. один ключ используется как для шифровки, так и для расшифровки сообщений. Разработан фирмой IBM и утвержден правительством США в 1977 как официальный стандарт для защиты информации, не составляющей государственную тайну. DES имеет блоки по 64 бит, основан на 16-кратной перестановке данных, для шифрования, использует ключ длиной 56 бит. DES предусматривает 4 режима работы: Electronic Code Book (ECB) – электронный шифроблокнот, Cipher Block Chaining (CBC) – цепочка блоков, Cipher Block Chaining (CBC) – обратная связь по шифртексту и Output Feedback (OFB) – обратная связь по выходу. 56 бит – это 8 семибитовых ASCII-символов, т.е. пароль не может быть больше чем 8 букв. Если вдобавок использовать только буквы и цифры, то количество возможных вариантов будет существенно меньше максимально возможных 256. Один из шагов алгоритма DES. Входной блок данных делится пополам на левую (L') и правую (R') части. После этого формируется выходной массив так, что его левая часть L'' представлена правой частью R' входного, а правая R'' формируется как сумма L' и R' операций XOR. Далее, выходной массив шифруется перестановкой с заменой. Можно убедиться, что все проведенные операции могут быть обращены и расшифровывание осуществлятся за число операций, линейно зависящее от размера блока. После нескольких таких «взбиваний» можно считать, что каждый бит выходного блока шифровки может зависеть от каждого бита сообщения. Рис. 6. Блок-схема работы алгоритма DES Название/статус DES (Data Encryption Standard). Федеральный стандарт шифрования США. Время/место разработки Создан в 1972-1975 годы в исследовательской лаборатории корпорации IBM. В качестве федерального стандарта США принят в 1977 году. Авторы Группа под руководством д-ра. У.Тачмена. Архитектура Классическая сбалансированная сеть Фейштеля с начальной и конечной битовыми перестановками общего вида. Параметры pазмер блока 64 бита pазмер ключа 56 бит (64 бита, 8 из которых не используются) число раундов 16 Патент Не запатентован. Особенности Широкое использование битовых перестановок в DESе делает алгоритм неудобным для программных реализаций на универсальных процессорах, а сами такие реализции крайне неэффективными. По сравнению с Российским стандартом шифрования DES содержит вдвое меньше раундов, однако его оптимальная реализация для процессоров линии Intel x86 уступает реализации Российского стандарта, по скорости в 3-10 раз в зависимости от марки процессора, эта разница увеличивается от младших моделей к старшим. Кроме того, по единодушному мнению криптографов начальная и конечная битовые перестановки являются не более чем "украшениями" алгоритма т.е. бесполезны с криптографической точки зрения, а размера ключа в 56 бит явно недостаточно для обеспечения приемлемой стойкости, что регулярно демонстрируется успехами во вскрытии шифровок DES путем подбора ключа методом прямого перебора с помощью распределенной сети или спецпроцессора. Ресурсы • описание алгоритма DES на странице ИС США http://www.itl.nist.gov/div897/pubs/fip46-2.htm • описание режимов шифрования DES на странице ИС США http://www.itl.nist.gov/div897/pubs/fip81.htm • различные реализации (FTP) ftp://ftp.replay.com/pub/replay/pub/crypto/LIBS/des/ • различные реализации (FTP) ftp://ftp.funet.fi/pub/crypt/cryptography/libs/des/ • сайт по ломанию DESа http://www.frii.com/~rcv/deschall.htm TripleDES. Алгоритм зашифрования состоит в следующем: исходный текст зашифровывается DESом с ключом K1, результат расшифровывается DESом с ключом K2, а этот результат опять зашифровывается DESом с ключом K1. Итого длина ключа составляет 112 бит. Иногда применяют 3 разных ключа, но стойкость от этого не меняется. DES – не группа, то есть композиция двух операций шифрования с разными ключами не является в общем случае DES-шифрованием с некоторым третьим ключом. Следовательно, можно пытаться увеличить пространство ключей за счет многократного применения DES. Двойной DES не обеспечивает увеличение в 256 раз объема перебора, необходимого для определения ключа, поскольку при атаке с известным открытым текстом можно подбирать параллельно исходный текст m и шифрограмму c, накапливать в хэш-таблице значения К2(m),К1^-1(c) и искать совпадения между ними. Тройной DES рекомендуется специалистами в качестве замены DES. 6.8 Стандарт ГОСТ 28147-89 В России есть аналог алгоритма DES, работающий по тому же принципу секретного ключа. Стандарт криптографического преобразования данных ГОСТ 28147-89 рекомендован к использованию для защиты любых данных, представленных в виде двоичного кода. Данный стандарт формировался с учетом мирового опыта, и в частности, при его разработке были приняты во внимание недостатки алгоритма DES. Благодаря этому ГОСТ 28147-89 имеет более высокую степень защиты. Стандарт довольно сложен, поэтому приведем лишь его концептуальное описание. Фактически в нем описаны несколько алгоритмов (режимы работы ГОСТ). Кроме ключа ему необходима еще одна таблица (таблица замен, 128 ячеек 4-битовых чисел) для формирования узлов замены. ГОСТ ее не определяет, посему она может рассматриваться как долговременный ключевой элемент. Определены следующие режимы работы: режим простой замены (ECB), режим гаммирования (SM) и режим гаммирования с обратной связью (OFB). Фактически задача каждого из режимов шифрования — это формирование 64-битовых комбинаций для входа в основной режим работы ГОСТ — режим простой замены. По сути — ключи необходимы для работы ГОСТ именно в этом режиме. Комбинация гаммы является результатом работы алгоритма в режиме простой замены. Следует отметить, что в отличие от DES, у ГОСТ 28147-89 блок подстановки можно произвольно изменять, то есть он является дополнительным 512-битовым ключом. Рис. 7. Цикл шифрования в режиме простой замены Несколько особняком стоит режим выработки имитовставки (имитовставка – блок информации, вычисленный по определенному закону и зависящий от некоторого криптографического ключа и данных.). В принципе, у него такое же назначение как у хэш-функции, только ее значение еще зависит от секретного ключа. Из полученного в результате 64 битного значения выбирается n битов, где n ≤ 32. Имитозащита – это защита данных в системах их передачи и хранения от навязывания ложной информации. Имитозащита достигается обычно за счет включения в пакет передаваемых данных имитовставки. Минимальный размер данных для имитозащиты – 2 64-битных блока. Название/статус ГОСТ 28147-89. Стандарт Российской Федерации на шифрование и имитозащиту данных. Время/место разработки Предположительно вторая половина 70-х. Разработан в бывшем 8-м Главном Управлении КГБ СССР или в одном из секретных НИИ в его системе. Первоначально имел гриф (ОВ или СС – точно не известно), затем гриф последовательно снижался и к моменту официального проведения алгоритма через Госстандарт СССР в 1989 году был снят, алгоритм остался ДСП (как известно, ДСП не считается грифом). В 1989 году стал официальным стандартом СССР, а позже, после распада СССР, федеральным стандартом Российской Федерации. Авторы Не известны. Архитектура Классическая сбалансированная сеть Фейштеля. Параметры pазмер блока 64-512 бита pазмер ключа 256 бит число раундов 32-64 Патент Не запатентован. Особенности Упрощенная структура раунда шифрования и простая обратимая функция шифрования, увеличенное число раундов, тривиальная схема генерации ключевых элементов из ключа – в качестве ключевых элементов на раундах шифрования используются 32-битные фрагменты ключа, каждый фрагмент используется 4 раза. Алгоритм не содержит нерегулярных битовых перестановок и оптимизирован для программной реализации, сравнение с реализациями DESа. Таблица подстановок не фиксирована в алгоритме и является долговременным ключевым элементом. Ресурсы • статья с подробным описанием алгоритма http://www.halyava.ru/crypto/__gost.htm • описание алгоритма на английском в .ps-формате http://www.netcon-online.com/produkte/crypt/gost.htm • описание алгоритма на английском и несколько реализаций http://www.vipul.net/gost/ • описание алгоритма на английском в .ps-формате http://www.jetico.sci.fi/gost.htm • реализация на Си и несколько usenet-овских сообщений с обсуждениями (FTP) ftp://ftp.replay.com/pub/replay/pub/crypto/LIBS/gost/ • описания алгоритма на английском в различных вариациях (FTP) ftp://ftp.funet.fi/pub/crypt/cryptography/papers/gost/ Алгоритмы гаммирования ГОСТ 28147-89 (256-битовый ключ, 512-битовый блок подстановок, 64-битовый вектор инициализации) превосходят по криптостойкости и алгоритм B-Crypt (56-битовый ключ, 64-битовый вектор инициализации). Достоинствами ГОСТ 28147-89 являются также наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа. Сравним характеристики DES и ГОСТ 28147-89. Характеристика DES ГОСТ 28147-89 Длина ключа, бит 56 256 Размер блока, бит 64 512 Количество циклов 16 64 6.9 Структуры алгоритмов шифрования Подавляющее большинство современных блочных алгоритмов шифрования работают весьма схожим образом: над шифруемым текстом выполняется некое преобразование с участием ключа шифрования, которое повторяется определенное число раз (раундов). При этом, по виду повторяющегося преобразования алгоритмы шифрования принято делить на несколько категорий. Здесь также существуют различные классификации, приведу одну из них. Итак, по своей структуре алгоритмы шифрования классифицируются следующим образом: 1. Алгоритмы на основе сети Фейштеля. Сеть Фейштеля подразумевает разбиение обрабатываемого блока данных на несколько субблоков (чаще всего – на два), один из которых обрабатывается некоей функцией f() и накладывается на один или несколько остальных субблоков. На рис. 8 приведена наиболее часто встречающаяся структура алгоритмов на основе сети Фейштеля. Рис. 8. Структура алгоритмов на основе сети Фейштеля. Дополнительный аргумент функции f(), обозначенный на рис. 9 как Ki, называется ключом раунда. Ключ раунда является результатом обработки ключа шифрования процедурой расширения ключа, задача которой – получение необходимого количества ключей Ki из исходного ключа шифрования относительно небольшого размера (в настоящее время достаточным для ключа симметричного шифрования считается размер 128 бит). В простейших случаях процедура расширения ключа просто разбивает ключ на несколько фрагментов, которые поочередно используются в раундах шифрования; существенно чаще процедура расширения ключа является достаточно сложной, а ключи Ki зависят от значений большинства бит исходного ключа шифрования. Наложение обработанного субблока на необработанный чаще всего выполняется с помощью логической операции "исключающее или" – XOR (как показано на рис. 2). Достаточно часто вместо XOR здесь используется сложение по модулю 2n, где n – размер субблока в битах. После наложения субблоки меняются местами, то есть в следующем раунде алгоритма обрабатывается уже другой субблок данных. На сети Фейштеля основано большинство современных алгоритмов шифрования – можно привести в пример отечественный стандарт шифрования ГОСТ 28147-89, а также другие весьма известные алгоритмы: RC5, Blowfish, TEA, CAST-128 и т.д. – благодаря множеству преимуществ подобной структуры, среди которых стоит отметить следующие: • Алгоритмы на основе сети Фейштеля могут быть сконструированы таким образом, что для зашифрования и расшифрования могут использоваться один и тот же код алгоритма – разница между этими операциями может состоять лишь в порядке применения ключей Ki; такое свойство алгоритма наиболее полезно при его аппаратной реализации или на платформах с ограниченными ресурсами; в качестве примера такого алгоритма можно привести ГОСТ 28147-89. • Алгоритмы на основе сети Фейштеля являются наиболее изученными – таким алгоритмам посвящено огромное количество криптоаналитических исследований, что является несомненным преимуществом как при разработке алгоритма, так и при его анализе. Существует и более сложная структура сети Фейштеля, пример которой приведен на рис. 9. Рис. 9. Структура сложной сети Фейштеля. Такая структура называется обобщенной или расширенной сетью Фейштеля и используется существенно реже традиционной сети Фейштеля. Примером такой сети Фейштеля может служить алгоритм RC6. 2. Алгоритмы на основе подстановочно-перестановочных сетей (SP-сети). В отличие от сети Фейштеля, SP-сети обрабатывают за один раунд целиком шифруемый блок. Обработка данных сводится, в основном, к заменам (когда, например, фрагмент входного значения заменяется другим фрагментом в соответствии с таблицей замен, которая может зависеть от значения ключа Ki) и перестановкам, зависящим от ключа Ki (упрощенная схема показана на рис. 10). Впрочем, такие операции характерны и для других видов алгоритмов шифрования, поэтому, на мой взгляд, название "подстановочно-перестановочная сеть" является достаточно условным. SP-сети распространены существенно реже, чем сети Фейштеля; в качестве примера SP-сетей можно привести алгоритмы Serpent или SAFER+. Рис. 10. Подстановочно-перестановочная сеть. 3. Алгоритмы со структурой "Квадрат" (Square). Структура алгоритма получила свое название от алгоритма Square, который был разработан в 1996 году Винсаном Рэменом (Vincent Rijmen) и Йоном Даменом (Joan Daemen) – будущими авторами алгоритма Rijndael ("Рэндал"), ставшего новым стандартом шифрования США AES после победы на открытом конкурсе. Алгоритм Rijndael также имеет Square-подобную структуру; также в качестве примера можно привести алгоритмы Shark (более ранняя разработка Рэмена и Дамена) и CRYPTON. Недостатком алгоритмов со структурой "квадрат" является их недостаточная изученность, что не помешало алгоритму Rijndael стать новым стандартом США. Что такое архитектура "Квадрат" (SQUARE)? Это архитектура построения блочных шифров с секретным ключом, она имеет следующие особенности: • она является вариантом общих SP-сетей (за один раунд шифруемый блок преобразуется целиком), построенным по схеме KASLT (Key Addition-Substitution – Linear Transformation); • архитектура байт-ориентирована, шифруемый блок представляется в виде матрицы байтов, замена также выполняется побайтно, на каждом раунде может использоваться один, максимум-два узла замен, больше втиснуть сложнее; • линейное преобразование (третий шаг раунда) двухфазное, состоит из перестановки байтов в матрице и независимого линейного комбинирования отдельных столбцов (или строк) матрицы. Смысл этой двухфазности – диффузия изменений в двух направлениях – по строкам и по столбцам. В данной архитектуре замена приводит к диффузии изменений внутри байта, линейное преобразование – в двух измерениях матрицы, в итоге получаем, что любое изменение в данных диффундирует на весь блок всего за 2 раунда. В архитектуре "Квадрат" выполнены шифры AES (Rijndael), Square, CRYPTON (один из кандидатов на AES). Второе место в конкурсе AES занял другой KASLT-шифр, Serpent. Дело идет к тому, что KASLT-сети и, в частности, архитектура SQUARE, в ближайшем будущем станут безраздельно доминировать. Алгоритм Square Алгоритм Square шифрует данные блоками по 128 бит, длина ключа также составляет 128 бит. 128-битный блок данных представляется в виде двухмерного байтового массива (таблицы) размером 4*4 – отсюда и название алгоритма. Текущее значение байтового массива в спецификации алгоритма называется состоянием (state). Над состоянием выполняется восемь раундов преобразований, каждый из которых состоит из следующих операций: 1. Линейное преобразование q, выполняющееся раздельно над каждой из строк таблицы (рис. 9): bi,j = cjai,0 (+) cj-1ai,1 (+) cj-2ai,2 (+) cj-3ai,3, где ai,j – текущее значение байта состояния, принадлежащего i-й строке и j-му столбцу; bi,j – новое значение байта состояния; cn – набор констант, определенных в спецификации алгоритма; (+) – логическая операция "исключающее или" (XOR); умножение выполняется по модулю 28. a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a30 a31 a32 a33              --->               b00 b01 b02 b03 b10 b11 b12 b13 b20 b21 b22 b23 b30 b31 b32 b33 Рис. 9. Операция q алгоритма Square 2. Нелинейное преобразование g, представляющее собой табличную замену (рис. 10): bi,j = S(ai,j). a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a30 a31 a32 a33              S(ai,j)               b00 b01 b02 b03 b10 b11 b12 b13 b20 b21 b22 b23 b30 b31 b32 b33 Рис. 10. Операция g алгоритма Square 3. Байтовая перестановка p, простейшим образом преобразующая строку состояния в столбец (рис. 11): p : bi,j = aj,i. a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a30 a31 a32 a33                ---->             a00 a10 a20 a30 a01 a11 a21 a31 a02 a12 a22 a32 a03 a13 a23 a33 Рис. 11. Операция p алгоритма Square. 4. Операция s, представляющая собой побитовое сложение состояния с ключом раунда (рис. 12): b = a (+) Kt, где a и b – значение всего массива состояния соответственно до и после преобразования, а Kt – ключ текущего раунда t. a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a30 a31 a32 a33 (+) побитовое сложение K00 K01 K02 K03 K10 K11 K12 K13 K20 K21 K22 K23 K30 K31 K32 K33    =    b00 b01 b02 b03 b10 b11 b12 b13 b20 b21 b22 b23 b30 b31 b32 b33 Рис. 12. Операция s алгоритма Square. Помимо восьми раундов описанных преобразований, перед первым раундом выполняется "нулевой" раунд, состоящий из обратного линейного преобразования q-1 и наложения ключа нулевого раунда K0 операцией s. Расшифрование данных выполняется аналогично зашифрованию, но с использованием обратных операций g-1 и q-1 вместо g и q. И наоборот, в нулевом раунде используется прямое преобразование q вместо обратного q-1. Операция g-1 представляет собой обратную замену, а q-1 предполагает использование вместо констант cn набора констант dn, приводящих к обратному результату и также определенных в спецификации алгоритма. 4. Алгоритмы с нестандартной структурой, то есть те алгоритмы, которые невозможно причислить ни к одному из перечисленных типов. Ясно, что изобретательность может быть безгранична, поэтому классифицировать все возможные варианты алгоритмов шифрования представляется сложным. В качестве примера алгоритма с нестандартной структурой можно привести уникальный по своей структуре алгоритм FROG, в каждом раунде которого по достаточно сложным правилам выполняется модификация двух байт шифруемых данных (см. рис. 13). Рис. 13. Модификация двух байт шифруемых данных. Строгие границы между описанными выше структурами не определены, поэтому достаточно часто встречаются алгоритмы, причисляемые различными экспертами к разным типам структур. Например, алгоритм CAST-256 относится его автором к SP-сети, а многими экспертами называется расширенной сетью Фейштеля. Другой пример – алгоритм HPC, называемый его автором сетью Фейштеля, но относимый экспертами к алгоритмам с нестандартной структурой. 6.10 Разделение секретного ключа Рассмотрим следующую, в наше время вполне реальную ситуацию. Два совладельца драгоценности хотят положить ее на хранение в сейф. Сейф современный, с цифровым замком на 16 цифр. Так как совладельцы не доверяют друг другу, то они хотят закрыть сейф таким образом, чтобы они могли открыть его вместе, но никак не порознь. Для этого они приглашают третье лицо, называемое дилером, которому они оба доверяют (например, потому что оно не получит больше доступ к сейфу). Дилер случайно выбирает 16 цифр в качестве “ключа”, чтобы закрыть сейф, и затем сообщает первому совладельцу втайне от второго первые 8 цифр “ключа”, а второму совладельцу втайне от первого — последние 8 цифр “ключа”. Такой способ представляется с точки здравого смысла оптимальным, ведь каждый из совладельцев, получив “полключа”, не сможет им воспользоваться без второй половины, а что может быть лучше?! Недостатком данного примера является то, что любой из совладельцев, оставшись наедине с сейфом, может за пару минут найти недостающие “полключа” с помощью несложного устройства, предназначенного для перебора ключей и работающего на тактовой частоте 1 МГц. Кажется, что единственный выход — в увеличении размера “ключа”, скажем, вдвое. Но есть другой математический выход, опровергающий (в данном случае — к счастью) соображения здравого смысла. А именно, дилер независимо выбирает две случайные последовательности по 16 цифр в каждой, сообщает каждому из совладельцев втайне от другого “его” последовательность, а в качестве “ключа”, чтобы закрыть сейф, использует последовательность, полученную сложением по модулю 10 соответствующих цифр двух выбранных последовательностей. Довольно очевидно, что для каждого из совладельцев все 1016 возможных “ключей” одинаково вероятны и остается только перебирать их, что потребует в среднем около полутора лет для устройства перебора ключей, оборудованного процессором с частотой 100 МГц. И с математической, и с практической точки зрения неинтересно останавливаться на случае двух участников и следует рассмотреть общую ситуацию. Неформально говоря, схема, разделяющая секрет (СРС) позволяет “распределить” секрет между n участниками таким образом, чтобы заранее заданные разрешенные множества участников могли однозначно восстановить секрет (совокупность этих множеств называется структурой доступа), а неразрешенные — не получали никакой дополнительной к имеющейся априорной информации о возможном значении секрета. СРС с последним свойством называются совершенными. История СРС начинается с 1979 года, когда эта проблема была поставлена и во многом решена Блейкли и Шамиром для случая пороговых (n, k)-СРС (т.е. разрешенными множествами являются любые множества из k или более элементов). Особый интерес вызвали так называемые идеальные СРС, т.е. такие, где объем информации, предоставляемой участнику, не больше объема секрета. Естественный вопрос состоит в том: для каких структур доступа существуют реализующие их идеальные СРС. Наилучший на сегодняшний день ответ использует слово матроид. Собственно с этого и началась теория матроидов, вначале как попытка дать аксиоматическое определение линейной независимости векторов через “внутренние свойства”, т.е. не апеллируя к понятию вектора. Попытка не удалась, так как нашлись матроиды, не представимые как линейные (т.е. как системы векторов), а сама теория матроидов разрослась далеко за пределы линейной алгебры. ====================================================================================== ВОПРОСЫ: 1 Общие сведения о блочных шифрах 2 Битовые операции 3 Сеть Фейштеля 4 Блочный шифр TEA 5 Блочный шифр IDEA 6 Блочный шифр Blowfish 7 Стандарт DES 8 Стандарт ГОСТ 28147-89 9 Структуры блочных алгоритмов шифрования 10 Разделение секретного ключа 7. AES: стандарт блочных шифров США c 2002 года 7.1 Особенности шифров "первого поколения" В 70-е годы, когда разрабатывались шифры "первого поколения" микроэлектроника была еще только в самом начале своего пути к сегодняшнему уровню развития, промышленностью было освоено производство микросхем лишь малой и средней степени интеграции. По этой причине основной доминантой в проектировании шифров было обеспечение приемлемой стойкости при минимальных требованиях к сложности, а значит, и ресурсоемкости реализации. Шифры этого "первого поколения", разрабатывавшиеся в 70-е – 80-е годы, обладают следующими свойствами: 1. Однородная итерационная структура алгоритма шифрования. Процесс шифрования представляет собой последовательное многократное применение к шифруемым данным однотипного преобразования, каждый шаг такого процесса называется раундом. Однородность шифрующей структуры предполагает операционную (алгоритмическую) идентичность всех раундов, отдельные шаги могут отличаться друг от друга только используемыми элементами данных. Данное свойство позволяло получать исключительно компактные реализации шифров, многократно использующие один и тот же фрагмент аппаратной схемы или программного кода. 2. Принадлежность к сбалансированным сетям Фейштеля. В криптоалгоритмах этого типа шифруемый блок данных разделяется на две одинаковые по размеру части: старшую (H) и младшую (L). На каждом раунде из младшей части и ключевого элемента раунда (ki) с помощью функции шифрования раунда (fi) вырабатывается элемент данных, используемый для модификации старшей части путем наложения на нее через операцию побитового суммирования по модулю 2: H'=Hfi(L,ki). Между раундами старшая и младшая часть блока меняются местами. При такой конструкции шифра преобразование одного раунда обратно самому себе, а процедуры за– и расшифрования отличаются только порядком использования функций шифрования на раундах. Если последовательность раундовых функций шифрования палиндромиальна (идентична своему обращению), и, в частности, если на всех раундах используетс одна и та же функция шифрования, то процедуры за– и расшифрования отличаются только порядком использования ключевых элементов. Это позволяет воплотить обе функции в одном фрагменте аппаратной схемы или программного кода, способствуя тем самым получению максимально компактной реализации. 3. Простая структура раунда. Раунды шифрования большинства шифров "первой волны" составлены из нескольких простых операций. Так, в Российском стандарте функция шифрования состоит всего из трех шагов: • сложения данных с ключом в пределах разрядной сетки операндов (+); • замены в четверках бит (S); • циклического сдвига слова на 11 бит влево (Rot11). В прежнем стандарте шифрования США функция шифрования остоит из четырех шагов: • расширения блока данных с 32 до 48 битов (Exp32,48); • побитового сложения данных с ключевым элементом по модулю 2 (); • замены шестерок бит на четверки бит (S); • выходной перестановки битов (P). 4. Использование небольшого набора базовых операций преобразования и комбинирования данных. В шифрах "первой волны" применялись главным образом следующие операции: • битовые перестановки; • замены в битовых группах; • аддитивные бинарные операции. Используемые блоки замен небольшие по размеру, как правило, фиксированные, и тщательно выверенные. Для их проектирования применялись специальные закрытые методики, не публикуемые разработчиками шифров, предположительно основанные на использовании так называемых бент-функций или родственных подходов. Комбинирование ключевых элементов с данными осуществляется обычно посредством аддитивных бинарных операций. Так, в шифре DES использовано побитовое суммирование по модулю 2, а в Российском стандарте – суммирование по модулю 232. Реже встречается комбинирование через параметризованные битами ключа узлы замен, как в шифре "Люцифер". 5. Фиксированный размер ключа и простая схема выработки ключевых элементов. Размер ключа в шифрах "первого поколения" жестко фиксирован. Так, в DES он составляет 56 бит, а в ГОСТ – 256 бит. Как правило, в них используются максимально упрощенные схемы выработки ключевых элементов. Так, в Российском стандарте в качестве таких элементов берутся 32-битовые фрагменты ключа, причем каждый такой элемент задействован в процедуре шифрования четырежды. В DES применена несколько более сложная схема, но в конечном итоге каждый ключевой элемент этого шифра состоит из подмножества битов исходного ключа, переставленных в определенном, для каждого элемента своем, порядке. Подобный подход позволяет избежать дополнительных накладных расходов на выработку ключевых элементов при шифровании. 6. Минимальный размер шифруемого блока. Для большинства шифров "первого поколения" выбран размер блока данных 64 бита. Это число является минимальной степенью двух, при котором атака по словарю уже не имеет смысла, а сложность и трудоемкость реализации еще находится на приемлемом уровне. Перечисленные выше особенности позволяли реализовать шифры "первого поколения" в виде относительно несложного устройства или программного модуля с достаточно скромными требованиями к аппаратным ресурсам. Хотя эти шифры остаются основой практической криптографии вплоть до настоящего момента, за время, прошедшее после их создания, в криптологии и микроэлектронике произошли значительные изменения: 1. Были разработаны достаточно эффективные методы криптоанализа, такие, как дифференциальный, линейный, и ряд других методов, давших в руки аналитикам мощные средства взлома шифров. 2. Прогресс микроэлектроники привел к многократному возрастанию возможностей электронных устройств. Быстродействие и доступный объем оперативной памяти компьютеров за последние десятилетия увеличились на несколько порядков. В результате, с одной стороны, пропорционально возросли возможности аналитиков по экстенсивным методам взлома шифров, – таким, как полный перебор по всему ключевому пространству. С другой стороны, возможная сложность реализации перестала быть жестким лимитирующим фактором при разработке новых шифров. В силу вышесказанного криптографическая стойкость многих старых шифров сегодня может быть поставлена под сомнение. Все это с одной стороны, и растущие потребности сферы информационных технологий в криптографической защите с другой, приводило к интенсивным исследованиям в соответствующей отрасли криптографии и к созданию новых шифров, зачастую использующих принципиально новые идеи и подходы. Интенсивность этой работы существенно возросла в последнее время, когда стал очевидным факт, что многие шифры "первого поколения" не могут долее считаться достаточно надежными для того, чтобы удовлетворять растущие потребности бизнеса в защите информации. 7.2 Общие сведения о конкурсе AES Алгоритм шифрования DES (Data Encryption Standard) c 1977 года являлся стандартом симметричного шифрования США (кроме информации повышенной степени секретности). В последующем «DES стойко выдержал 20 лет массового всемирного криптоанализа» — десятилетия криптоанализа (т.е. науки, посвященной поиску уязвимостей и, соответственно, взлому криптографических алгоритмов защиты информации) не привели к обнаружению серьезных уязвимостей в алгоритме. Фактически, DES дал невиданный доселе толчок развитию криптоанализа. Вышли сотни трудов, посвященных различным методам криптоанализа именно в приложении к алгоритму DES, а также деталям самого алгоритма и их влиянию на криптостойкость DES. Можно утверждать, что именно благодаря DES появились целые направления криптоанализа. DES до сих пор считается сильным алгоритмом шифрования во всем, кроме размера ключа шифрования. 56-битный ключ DES явно недостаточен и при современных вычислительных ресурсах может быть вскрыт методом «грубой силы», т.е. перебором всех возможных вариантов ключа шифрования. Причем многие криптографы понимали это еще до принятия DES в качестве стандарта (при избыточности обычного текста порядка 0,75 и использовании 56-битового ключа – такого, как предполагает DES – достаточно 11 символов шифротекста для восстановления ключа при неограниченных ресурсах криптоаналитика), а первые попытки увеличения размера ключа DES без изменения самого алгоритма начались уже в 1978 году. Однако DES продолжал активно использоваться в качестве стандарта США. С резким скачком производительности вычислительной техники сначала столкнулся алгоритм RSA, для вскрытия которого необходимо решать задачу факторизации. В марте 1994 была закончена длившаяся в течение 8 месяцев факторизация 428-битного числа. Для этого было задействовано 600 добровольцев и 1600 машин, связанных посредством электронной почты. Затраченное машинное время было эквивалентно примерно 5000 MIPS-лет. Прогресс в решении проблемы факторизации во многом связан не только с ростом вычислительных мощностей, но и с появлением в последнее время новых эффективных алгоритмов. (На факторизацию следующего 432-битного числа из ушло всего 500 MIPS-лет). На сегодняшний день в принципе реально факторизовать 512-битные числа. Если вспомнить, что такие числа еще недавно использовались в программе PGP, то можно утверждать, что это самая быстро развивающаяся область криптографии и теории чисел. 29 января 1997 фирмой RSA Labs был объявлен конкурс на вскрытие симметричного алгоритма RC5. 40-битный ключ был вскрыт через 3.5 часа после начала конкурса! (Для этого даже не потребовалась связывать компьютеры через Интернет – хватило локальной сети из 250 машин в Берклевском университете). Через 313 часов был вскрыт и 48-битный ключ. Таким образом, всем стало очевидно, что длина ключа, удовлетворяющая экспортным ограничениям, не может обеспечить даже минимальной надежности. Параллельно со вскрытием RC5 был дан вызов и столпу американской криптографии – алгоритму DES. И он пал 17 июня 1997 года, через 140 дней после начала конкурса (при этом было протестировано около 25% всех возможных ключей и затрачено примерно 450 MIPS-лет). Это было, безусловно, выдающееся достижение, которое означало фактическую смерть DES как стандарта шифрования. И действительно, в начале 1998 года следующее соревнование по нахождению ключа DES привело к успеху всего за 39 дней. Позднее компания Electronic Frontier Foundation, используя специальный компьютер DES-Cracker стоимостью $250 000, взломала DES за 3 дня. В последующие годы DES не раз взламывался, в том числе на аппаратуре стоимостью менее $10 000 (2006 год) за приемлемое время. Институт стандартов и технологий США NIST (National Institute of Standards and Technology) объявил о проведении открытого конкурса алгоритмов шифрования, победитель которого должен был стать новым стандартом симметричного шифрования США AES (Advanced Encryption Standard). AES должен быть полностью открытым симметричным алгоритмом с ключом размером 128, 192, 256 бит и блоком шифрования размером 128 бит. В конкурсе могли принять участие любые организации или частные лица, в том числе находящиеся за пределами США. И действительно, список участников конкурса оказался весьма разнообразен; среди авторов алгоритмов-претендентов были: • всемирно известные криптологи, например, интернациональный коллектив авторов алгоритма Serpent — Росс Андерсон (Ross Anderson), Эли Бихам (Eli Biham) и Ларс Кнудсен (Lars Knudsen); • организации, давно работающие в данной области и обладающие как богатым опытом разработки криптоалгоритмов, так и сильнейшими специалистами в данной области, например, американская фирма Counterpane — автор алгоритма Twofish; • всемирно известные корпорации, обладающие большим научным потенциалом, например немецкий телекоммуникационный гигант Deutsche Telekom с алгоритмом Magenta; • образовательные учреждения, известные своими достижениями в области криптографии, например Католический Университет г. Лювен (Katholieke Universiteit Leuven), Бельгия, с алгоритмом Rijndael; • и наоборот, организации, весьма малоизвестные до проведения конкурса AES, например, фирма Tecnologia Apropriada (автор алгоритма FROG) из латиноамериканского государства Коста-Рика. Требования, предъявленные к кандидатам на AES в 1998 году, были предельно просты: 1. Размер блока должен быть равен 128 бит. Хотя размер блока в 64 бита и считается в настоящее время вполне надежным, однако быстрый прогресс микроэлектроники уже в обозримом будущем может сделать его доступным для некоторых типов словарных атак. Кроме того, при построении хэш-функций на базе блочных шифров в силу так называемого "парадокса дней рождения" весьма желательно, чтоб размер блока использованного шифра был как минимум вдвое больше величины, считающейся на данный момент безопасной. В свете этого выбор большего размера блока представляется вполне разумным. 2. Шифр должен допускать использование ключа размером 256, 192 и 128 бит. Шифры первого поколения создавались в основном для нужд государства. В настоящее время одним из главных потребителей средств криптозащиты информации (СКЗИ) становится бизнес, который, как известно, любит считать деньги и не хочет их тратить больше, чем необходимо. В различных задачах деловой сферы требования к надежности СКЗИ сильно различаются. Поскольку стоимость разработки и эксплуатации СКЗИ существенно возрастает с увеличением их надежности, нередко экономические соображения диктуют выбор более слабых криптографически, но зато более дешевых средств шифрования. В свете сказанного у бизнеса возникла необходимость не в одном шифре, а в целой линейке шифров, которые различались бы по своим рабочим характеристикам, что нашло отражение в наборе требований к кандидатам на место усовершенствованного стандарта, — они должны допускать использование ключей различных размеров. 3. Стойкость шифра не должна быть ниже, чем у тройного DES (TripleDES). В настоящее время этот шифр считается вполне надежным даже с некоторым запасом на возможный прогресс криптоанализа в ближайшем будущем. 4. Быстродействие возможных программных реализаций должно быть не ниже, чем у тройного DES. Это также вполне понятное требование, — было бы неразумно принять в качестве нового стандарта шифр с худшим показателем, чем у действующего ныне варианта. 5. Шифры должны допускать возможность эффективной реализации различных типов, — аппаратной и программной на процессорах всего диапазона от 8-битовых микроконтроллеров до современных 64-разрядных процессоров. Это требование диктуется сферой бизнеса, т.к. предполагается интенсивное использование нового стандарта в широком спектре изделий — от интеллектуальных карт и модемов до специальной аппаратуры и реализаций на супер-ЭВМ. Однако, несравнимо больше было «рекомендательных» требований к будущему стандарту шифрования США. Поскольку соответствовать обязательным требованиям было достаточно просто, анализ алгоритмов и выбор из них лучшего производился именно по его соответствию «необязательным» характеристикам. «Пожелания» NIST были, в частности, таковы: 1. Алгоритм должен быть стойким против криптоаналитических атак, известных на время проведения конкурса. 2. Структура алгоритма должна быть ясной, простой и обоснованной, что, во-первых, облегчало бы изучение алгоритма специалистами, а во-вторых, гарантировало бы отсутствие внедренных авторами алгоритма «закладок» (т.е. в данном случае, особенностей архитектуры алгоритма, которыми теоретически могли бы воспользоваться его авторы в злоумышленных целях). 3. Должны отсутствовать слабые и эквивалентные ключи (т.е. ключи, являющиеся различными, но приводящие к одному и тому же результату шифрования). 4. Скорость шифрования данных должна быть высокой на всех потенциальных аппаратных платформах — от 8-битных до 64-битных. 5. Структура алгоритма должна позволять распараллеливание операций в многопроцессорных системах и аппаратных реализациях. 6. Алгоритм должен предъявлять минимальные требования к оперативной и энергонезависимой памяти. 7. Не должно быть ограничений для использования алгоритма; в частности, алгоритм не должен ограничивать свое использование в различных стандартных режимах работы, в качестве основы для построения хэш-функций, генераторов псевдослучайных последовательностей и т.д. 8. Криптоалгоритм подвергается изучению по следующим параметрам: стойко­сти, стоимости, гибкости, реализуемости в smart-картах. Стойкость: это самый важный критерий в оценке алгоритма. Оценивались: способность шифра противостоять различным методам криптоанализа, стати­стическая безопасность и относительная защищенность по сравнению с другими кандидатами. Учитывалась стойкость к атаке методом полного перебора с уче­том прогнозируемого роста вычислительных мощностей. Стоимость: не менее важный критерий, учитывая одну из основных целей NIST, – широкая область использования и доступность AES. Стоимость зависит от вычислительной эффективности (в первую очередь быстродействия) на раз­личных платформах, удобства программной и аппаратной реализации, низких требований к памяти, простоты (простые алгоритмы легче реализовывать, они более прозрачны для анализа). Гибкость: включает способность алгоритма обрабатывать ключи больше оговоренного минимума (128 бит), надежность и эффективность выпол­нения в разных средах, возможность реализации других криптографических функций: комбинированного шифрования, хеширования и т. д. Эти требования оказались достаточно жесткими и частично противоречащими друг другу; каждый конкретный алгоритм из участвовавших в конкурсе представлял собой некий найденный авторами компромисс между соответствиями данным требованиям. Другими словами, AES должен быть существенно более эффективным с точ­ки зрения практической реализации (в первую очередь скорости шифрования и формирования ключей), иметь больший запас прочности, чем TripleDES, при этом, не уступая ему в стойкости. 7.3 Интеллектуальные карты Интеллектуальная, или смарткарта (smart-card), является принципиально новым видом носителей информации. Создание сверхмалых интегральных схем с энергонезависимой памятью и сложным микропроцессором позволяет выполнять сложные операции по приему, хранению и обработке информации. В соответствии с требованиями Международной организации по стандартизации (ISO 7816) смарткарты определяют как «карточки с интегральными схемами». В настоящее время широкое применение получили интеллектуальные карты с: • программируемым постоянным запоминающим устройством (PROM); • энергонезависимой перепрограммируемой памятью (EEPROM); • защищенной перепрограммируемой памятью, для доступа к которой требуется ввод ключа; • многофункциональными комбинированными версиями; • криптоконтроллерами. Основу смарткарт составляют микропроцессоры с тактовой частотой до 5 МГц и объемом EEPROM до 8 Кбайт. В PROM записывается специальный набор программ, называемый операционной системой карточки – «COS» (Card Operating System). Она обеспечивает разграничение доступа к информации и шифрование данных с применением различных алгоритмов и введение системы ключей. Архитектура смарткарты схематично изображена на рисунке 1: Рис.1. Как видно на рисунке, приложения получают доступ к смарткартам через терминальные устройства и соответствующие каналы ввода/вывода компьютера. Существует возможность работы одновременно с несколькими терминальными устройствами. Как наиболее употребительные, отмечаются терминальные устройства, подключаемые к последовательному порту (интерфейс RS-232), клавиатурные терминальные устройства, и устройства, подключаемые к PCMCIA слоту (PC Card), однако этим набором список возможных терминальных устройств не ограничивается. Архитектура SPOM предусматривает наличие на кристалле постоянной памяти (ROM), оперативной памяти (RAM) и постоянной перезаписываемой памяти (EEPROM). Оперативная память используется операционной системой в качестве рабочей памяти, ее размер, как правило, не превышает 256 байт. Постоянная память хранит исполняемый код операционной системы. Размер постоянной памяти не превышает 16 Кбайт. Постоянная перезаписываемая память EEPROM может иметь размер до 8 Кбайт и используется для хранения произвольных данных. Память EEPROM доступна извне смарткарты. Обычно в памяти EEPROM хранятся рабочие переменные операционной системы и пользовательские данные. Кроме этого, существуют модели смарткарт, которые позволяют загружать в EEPROM дополнительные программные модули, расширяя, таким образом, возможности операционной системы. Операционная система на карте создается при ее изготовлении и не может быть изменена. Прикладное ПО загружается непосредственно перед передачей заказчику. Незадействованные области памяти предназначены для данных, необходимых конкретному пользователю. Это, например, суммарные расчетные данные, журнал протоколов. Также в ней хранится информация о времени, когда терминал был на связи. Разработана система разделения незадействованной памяти между прикладным ПО и конфиденциальными данными. Для информации, хранящейся в любой записи (для файла, группы файлов, каталога), устанавливаются следующие режимы. 1. Всегда доступна для чтения/записи – система открытого доступа. 2. Доступна для чтения, но требует специальных полномочий (сертификации) от оператора сети. 3. Специальные полномочия – режим использования персонального идентификационного номера (PIN-кода). 4. Недоступна – контроль доступа осуществляется с применением криптографических ключей. Главной особенностью всех интеллектуальных карт является способность обеспечивать безопасность передаваемой по сети и сохраненной информации. Защита конфиденциальных данных при ее передаче обеспечивается шифрованием, целостность – присвоением цифровой подписи. В этом случае только операционная система самой карты может считывать информацию, которую она обычно вводит для расшифрования сеансового ключа, полученного по каналам связи сети. Интеллектуальные карты – важная область использования AES в будущем, при этом глав­ной проблемой является небольшой объем доступной памяти. NIST исходил из допущения, что некоторые дешевые карты могут иметь всего 256 байт RAM (для вычисляемых данных) и 2000 ROM (для хранения алгоритмов и констант). Су­ществует два основных метода формирования раундовых ключей: • вычисление на начальном этапе работы криптоалгоритма и хранение в памяти; • вычисление раундовых ключей "на лету". Ясно, что второй вариант уменьшает затраты RAM, и поэтому наличие такой возможности в криптоалгоритме является его несомненным достоинством. 7.4 Проведение конкурса AES Заявки от участников конкурса NIST принимал в течение полутора лет, после чего все присланные на конкурс алгоритмы изучались и обсуждались как в самом институте NIST, так и всеми желающими. Стоит сказать, что в NIST пришло немало отзывов, все они находятся в открытом доступе и их можно посмотреть на web-сайте института (http://www.nist.gov). 20 августа 1998 года прошла "Первая конференция кандидатов на AES" или AES1, где NIST объявил о приеме на конкурс 15 алгоритмов-кандидатов, в разработке которых принимали участие криптографы из 12 стран мира. (Еще 6 алгоритмов-кандидатов, в том числе и российский, не были допущены к конкурсу на основании, как пояснил NIST, "неполноты" представленной документации.) Вот список алгоритмов, вышедших в первый круг отбора: страна алгоритм кто представил Австралия LOKI97 Lawrie Brown, Josef Pieprzyk, Jennifer Seberry Бельгия RIJNDAEL Joan Daemen, Vincent Rijmen Великобритания, Израиль, Норвегия SERPENT Ross Anderson, Eli Biham, Lars Knudsen Германия MAGENTA Deutsche Telekom AG Канада CAST-256 Entrust Technologies, Inc. DEAL Outerbridge, Knudsen Корея CRYPTON Future Systems, Inc. Коста-Рика FROG TecApro Internacional S.A. США HPC Rich Schroeppel MARS IBM RC6 RSA Laboratories SAFER+ Cylink Corporation TWOFISH Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson Франция DFC Centre National pour la Recherche Scientifique Япония E2 Nippon Telegraph and Telephone Corporation Архитектура шифров. Все блочные шифры имеют в своей основе следующую идею. Подлежащий зашифрованию текст нарезается на блоки равной длины, и каждый блок шифруется с помощью одного и того же криптопреобразования, зависящего от секретного ключа. Для повышения стойкости шифра это преобразование циклически повторяется несколько раз (итерируется). Основные различия алгоритмов, как правило, сводятся к различиям в цикловом преобразовании. Если кратко описывать архитектурные решения, представленные в алгоритмах-кандидатах, то были выделены три основные группы – сети Фейштеля, SP-сети и "неортодоксальные конструкции": • Сети Фейштеля, классическая архитектура, названа в честь Хорста Фейштеля – первого руководителя криптографического подразделения IBM и изобретателя шифра, из которого впоследствии получился DES. Здесь блок разбивается на две равные половины, одна из которых комбинируется с ключом, а затем складывается с другой половиной блока, после чего результат и исходная половина блока меняются местами. Среди кандидатов к "классической сети Фейштеля " можно отнести алгоритмы DEAL, DFC, E2, LOKI97, MAGENTA, TWOFISH. К "модифицированной сети Фейштеля" обычно относят конструктивно аналогичные шифры, манипулирующие субблоками разной длины. К таким алгоритмам относятся CAST-256, MARS, RC6. • SP-сети или "сети замен-перестановок". Другая общераспространенная архитектура, цикловое преобразование которой заключается в прогоне всего блока текста через слои замен и перестановок, зависящие от ключа. К этой группе принадлежат такие алгоритмы-кандидаты, как CRYPTON, Rijndael, SAFER+ и SERPENT. • "Неортодоксальные конструкции". Среди AES-кандидатов таких шифров оказалось два: FROG и HPC. Сразу можно сказать, что в науке криптографии "неортодоксальность" пока не приводила к гениальным прорывам. Не произошло этого и в процессе AES, поскольку алгоритмы из этой группы не продемонстрировали в процессе их изучения ни очевидной для всех стойкости, ни выдающейся производительности, ни особой гибкости. Представив все 15 алгоритмов на конференции AES1, а затем и в соответствующем официальном документе, NIST призвал общественность принять активное участие в исследовании и обсуждении кандидатов. Понемногу выявились явные аутсайдеры конкурса – те алгоритмы, для которых были продемонстрированы методы криптоанализа, так или иначе понижающие возможную (при имеющихся длинах блока и ключа) стойкость. Среди наименее удачливых в этом отношении претендентов оказались шифры LOKI97, FROG, MAGENTA, DEAL и SAFER+. Для алгоритмов CRYPTON и DFC было продемонстрировано наличие "слабых ключей", облегчающих вскрытие. Для остальных криптоалгоритмов в ходе первого раунда не было получено сколь-нибудь существенных криптоаналитических результатов. (Хотя, к примеру, шифр HPC или "заварной пудинг" особо и не анализировали вследствие чрезвычайной экзотичности конструкции.) В этом же раунде были проведены и тестирования программных реализаций алгоритмов на производительность. Непосредственно в NIST шифры исследовались на эффективность в оптимизированных реализациях на языках Си и Java. После этого в марте 1999 года была проведена AES2 – Вторая конференция кандидатов на AES, где были обсуждены результаты криптографического анализа, проведенного мировым криптографическим сообществом в отношении алгоритмов-кандидатов, а также выявленная в процессе тестирования эффективность программных версий шифров. Поскольку стойкость криптоалгоритма полагается наиважнейшим критерием оценки, то первый отсев кандидатов был произведен жюри на основе этого показателя. А уже затем в расчет брались все остальные из приведенных выше критериев. Алгоритмы Основные результаты анализа CAST-256 В алгоритме не обнаружено уязвимостей. Однако, скорость шифрования у данного алгоритма невысока; кроме того, у него высокие требования к оперативной и энергонезависимой памяти. Crypton Алгоритм без явных недостатков. Однако, Crypton уступает по всем характеристикам похожему на него алгоритму Rijndael. Эксперты конкурса сочли, что в финале конкурса Crypton однозначно проиграет Rijndael, поэтому не выбрали его во второй раунд конкурса. DEAL Множество недостатков: наличие подмножеств слабых ключей, подверженность дифференциальному криптоанализу, отсутствие усиления при использовании 192-битных ключей по сравнению с 128-битными. DFC Достоинство алгоритма: очень высокая скорость шифрования на 64-битных платформах. При этом алгоритм весьма медленно шифрует на остальных платформах, а также имеет классы слабых ключей. E2 Аналогично алгоритму CAST-256, в E2 не найдено уязвимостей, но требования к энергонезависимой памяти слишком высоки. FROG Алгоритм с наиболее оригинальной структурой и с наибольшим количеством недостатков: наличие уязвимостей, низкая скорость шифрования и высокие требования к ресурсам. HPC Аналогично алгоритму DFC, HPC очень быстро шифрует на 64-битных платформах, но весьма медленно на остальных. Кроме того, сложная и медленная процедура расширения ключа ограничивает возможные применения алгоритма, а наиболее сложная из всех представленных на конкурс алгоритмов структура раунда усложняет анализ алгоритма и делает недоказуемым отсутствие закладок. LOKI97 Низкая скорость шифрования, высокие требования к ресурсам, наличие уязвимостей. Magenta Алгоритм подвержен атакам методами линейного и дифференциального криптоанализа; медленная скорость шифрования. MARS У алгоритма отсутствуют серьезные недостатки, за исключением низкой скорости шифрования на ряде платформ, не имеющих аппаратной поддержки требуемых операций и некоторых других незначительных недостатков. Алгоритм был незначительно модифицирован в течение первого раунда; измененный вариант вышел в финал конкурса. RC6 RC6 имеет весьма похожие на MARS проблемы с реализацией на некоторых платформах. Эксперты посчитали это незначительным недостатком — алгоритм вышел в финал конкурса. Rijndael Каких-либо недостатков у алгоритма не обнаружено; алгоритм вышел в финал конкурса. SAFER+ Алгоритм подвержен ряду атак и имеет низкую скорость выполнения. Serpent Выявлены некоторые незначительные недостатки, алгоритм вышел в финал конкурса. Twofish Из недостатков эксперты отметили сложность алгоритма, затрудняющую его анализ. Алгоритм вышел в финал конкурса. 9 августа 1999 г. NIST объявил победителей первого раунда. На основании проделанного анализа и с учетом принятых в процессе обсуждения поправок к алгоритмам, были отобраны пять алгоримтов-финалистов: MARS, RC6, Rijndael, Serpent и Twofish (не попавшие в финал алгоритмы E2 и CAST-256 можно считать "замыкающими список лучших".) В пятерке шифров-победителей за время исследований в первом раунде не было найдено никаких сколь-нибудь существенных уязвимостей, и по своим характеристикам каждый из кандидатов потенциально был оценен как "превосходная технология". Голоса на конференции AES2 распределились следующим образом: • Rijndael: 86 за, 10 против; • Serpent: 59 за, 7 против; • Twofish: 31 за, 21 против; • RC6: 23 за, 37 против; • MARS: 13 за, 83 против. Все эти алгоритмы были разработаны авторитетными криптографами с мировым именем. На 3-й конференции AES в апреле 2000 года авторы выступили с докладами о своих алгоритмах. Третья конференция AES прошла в Нью-Йорке 13 и 14 апреля 2000 года, незадолго до завершения второго этапа. На ней присутствовало 250 участников, многие из которых приехали из-за рубежа. Двухдневная конференция была разделена на восемь сессий, по четыре в день, плюс к тому состоялась неформальная дополнительная сессия, подводившая итоги первого дня. На сессиях первого дня обсуждались вопросы, связанные с программируемыми матрицами, проводилась оценка реализации алгоритмов на различных платформах, в том числе PA-RISC, IA-64, Alpha, высокоуровневых смарт-картах и сигнальных процессорах, сравнивалась производительность претендентов на стандарт, анализировалось число раундов в алгоритмах-кандидатах. На сессиях второго дня был проанализирован Rijndael с сокращённым числом раундов и показана его слабость в этом случае, обсуждался вопрос об интегрировании в окончательный стандарт всех пяти алгоритмов-претендентов, ещё раз тестировались все алгоритмы. В конце второго дня была проведена презентация, на которой претенденты рассказывали о своих алгоритмах, их достоинствах и недостатках. О Rijndael рассказал Венсан Рэмен, заявивший о надёжности защиты, высокой общей производительности и простоте архитектуры своего кандидата. 2 октября 2000 года NIST объявил о своем выборе – победителем конкурса стал бельгийский алгоритм Rijndael, и началась процедура стандартизации. С этого момента с алгоритма-победителя сняты все патентные ограничения – его можно будет использовать в любой криптопрограмме без отчисления каких-либо средств создателю. 28 февраля 2001 года был опубликован проект, а 26 ноября 2001 года AES был принят как FIPS 197 – федеральный стандарт шифрования США. Утвержден министерством торговли в качестве стандарта 4 декабря 2001 года, решение вступило в силу с момента опубликования в федеральном реестре (06.12.2001). Ниже рассматриваются основные (рабочие) части алгоритмов победителей первого этапа. Объем лекции не позволяет привести для каждого алгоритма методы создания S-box'ов (таблиц для табличных подстановок) и методы расширения материала ключа. Полное описание всех 15 алгоритмов претендентов на AES, включая исследования по их криптостойкости можно найти на сервере института NIST. Все алгоритмы были признаны достаточно стойкими и успешно противостоящими всем широко известным методам криптоанализа. По своей структуре TwoFish является классическим шифром Фейштеля; MARS и RC6 можно отнести к модифицированным шифрам Фейштеля, в них использу­ется новая малоизученная операция циклического "прокручивания" битов слова на число позиций, изменяющихся в зависимости от шифруемых данных и сек­ретного ключа; Rijndael и Serpent являются классическими подстановочно-перестановочными SP-сетями (за один раунд шифруемый блок преобразуется целиком). MARS и TwoFish имеют самую сложную конструкцию, Rijndael и RC6 – са­мую простую. 7.5 Шифр MARS MARS выставлен на конкурс фирмой IBM, одним из авторов шифра является Д. Копперсмит, участник разработки DES. В алгоритме не обнаружено слабо­стей в защите. В основе архитектуры кандидата от IBM лежит прочное "криптографическое ядро", новаторски упакованное в "защитную скорлупу" специальной структуры, призванной защитить стойкость алгоритма от всех нынешних и будущих атак. Весьма сложная схема шифра существенно затрудняет криптоанализ, что в условиях конкурса очевидно является минусом, нежели плюсом. Еще одна особенность – комбинирование в шифре множества различных операций, включая и сравнительно новую и поэтому относительно мало изученную технику циклического "прокручивания" бит слова на количество позиций, изменяющееся в зависимости от шифруемых данных и секретного ключа. Как следствие, обладая и в целом хорошей производительностью, особенно хорошо MARS работает на тех компьютерных платформах, которые эффективно поддерживают его прокручивания и перемножения. По правилам конкурса AES разрешалось вносить незначительные изменения в участвовавшие в конкурсе алгоритмы в течение первого раунда конкурса. Пользуясь этим правилом, авторы алгоритма MARS изменили процедуру расширения ключа, в результате чего существенно снизились требования, предъявляемые алгоритмом к энергонезависимой и оперативной памяти. Ко второму раунду MARS пришел в модифицированном разработчиками виде, повысив свою гибкость и способность функционировать в ограниченных по памяти условиях, свойственных смарт-картам младших моделей. Рис.3. Разработчики алгоритма MARS придали ему сильно гетерогенную структуру — раунды алгоритма весьма различаются между собой — исходя из двух следующих предположений: 1. Многие известные криптоаналитические методы отличают первый и последний раунды алгоритма (или несколько первых и/или несколько последних раундов) от остальных и применяют к ним другие приемы, нежели к «центральным» раундам алгоритма. Таким образом, различные раунды алгоритма шифрования играют различное значение в обеспечиваемой алгоритмом криптостойкости. 2. Скорее всего, алгоритм с гетерогенной структурой будет лучше противостоять криптоаналитическим методам будущего, чем алгоритм, все раунды которого идентичны. Шифр состоит из трех видов операций, которые повторяются сначала в прямом, а затем в инверсном порядке. На первом шаге идет классическое входное забеливание: ко всем байтам исходного текста добавляются байты из материала ключа. Второй этап: прямое перемешивание, однотипная операция, имеющая структуру сети Фейштеля повторяется 8 раз. Однако, на этом этапе не производится добавление материала ключа. Цель данного преобразования – тщательная рандомизация данных и повышение стойкости шифра к некоторым видам атак (рис.3). Третий этап: собственно шифрование. В нем используется сеть Фейштеля третьего типа с 4 ветвями, то есть значения трех функций, вычисленных от одной ветви накладываются соответственно на три других, затем идет перестановка машинных слов. Эта операция также повторяется 8 раз (рис.4). Именно на этом этапе происходит смешивание текста с основной (большей) частью материала ключа. Сами функции, накладываемые на ветви, изображены на рис.3. Как видим, в алгоритме MARS использованы практически все виды операций, применяемых в криптографических преобразованиях: сложение, "исключающее ИЛИ", сдвиг на фиксированное число бит, сдвиг на переменное число бит, умножение и табличные подстановки. Рис.4. Во второй части операции шифрования повторяются те же операции, но в обратном порядке: сначала шифрование, затем перемешивание, и, наконец, забеливание. При этом во вторые варианты всех операций внесены некоторые изменения таким образом, чтобы криптоалгоритм в целом стал абсолютно симметричным. То есть, в алгоритме MARS для любого X выполняется выражение EnCrypt(EnCrypt(X))=X. Преимущества: • Высокий уровень защищенности. • Высокая эффективность на 32-разрядных платформах, особенно поддержи­вающих операции умножения и циклического сдвига. • Ключ шифрования может иметь любой размер в диапазоне от 128 до 448 бит включительно, кратный 32 битам. • Зашифрование и расшифрование практически идентичны. Недостатки: • Исключительно сложная структура алгоритма с раундами различных типов затрудняет как анализ алгоритма, так и его реализацию. • Возникают проблемы при программной реализации на тех платформах, которые не поддерживают 32-битное умножение и вращение на переменное число бит. • Алгоритм MARS не может быть эффективно реализован аппаратно и в условиях ограниченных ресурсов. • Сложно защищается от атак по времени выполнения и потребляемой мощности (временного анализа и анализа мощности). • MARS хуже других алгоритмов-финалистов поддерживает расширение ключей «на лету». • Распараллеливание вычислений при шифровании алгоритмом MARS реализуемо с ограничениями. 7.6 Шифр RC6 Алгоритм RC6 был разработан в 1998 г. рядом специалистов научного подразделения известнейшей фирмы RSA Data Security — RSA Laboratories: Рональдом Райвестом (Ronald Rivest, основатель RSA Data Security– очень известная личность в мире криптографии), Мэттом Робшоу (Matt Robshaw), Рэем Сидни (Ray Sidney) и Икван Лайзой Ин (Yiqun Lisa Yin) специально для участия в конкурсе AES. Алгоритм является продолжением 64-битного блочного криптоалгоритма RC5, разработанного Рональдом Райвестом в 1997 г. RC6 во многом унаследовал черты предыдущего алгоритма и был незначительно изменен для того, чтобы соответствовать требованиям AES по длине ключа и размеру блока. При этом алгоритм стал еще быстрее, а его ядро, унаследованное от RC5, имеет солидный запас исследований, проведенных задолго до объявления конкурса AES. В алгоритме не обнаружено слабостей в защите. Как и все остальные разработки его главного конструктора, патриарха открытой криптографии Рональда Райвеста, этот шифр чрезвычайно прост по своей архитектуре (его можно даже воспроизвести по памяти) и весьма компактно укладывается как в программную, так и в аппаратную реализацию. Простота алгоритма должна существенно облегчить дальнейший анализ его стойкости. В RC6 не используются традиционные в блочных шифрах таблицы замены (S-боксы), вместо этого опору стойкости алгоритма составляет техника прокручивания бит на разное количество позиций в зависимости от шифруемых данных. Собственно говоря, именно с подачи Райвеста эта техника и получила в свое время толчок к распространению в новых криптосхемах. По своей производительности RC6 весьма быстрый алгоритм, который особенно хорош на платформах, эффективно поддерживающих операции прокручивания и перемножения. Быстро здесь реализуется и еще одна существенная для шифра фаза – разворачивание ключа. Алгоритм является сетью Фейштеля с 4 ветвями смешанного типа: в нем два четных блока используются для одновременного изменения содержимого двух нечетных блоков. Затем производится обычный для сети Фейштеля сдвиг на одно машинное слово, что меняет четные и нечетные блоки местами. Сам алгоритм предельно прост и изображен на рис. 5. Разработчики рекомендуют при шифровании использовать 20 раундов сети, хотя в принципе их количество не регламентируется. При 20 повторах операции шифрования алгоритм имеет самую высокую скорость среди 5 финалистов AES. Преобразование T очень просто: T(X) = (X*(X+1)) mod 2N. Оно используется в качестве нелинейного преобразования с хорошими показателями перемешивания битового значения входной величины. Фактически, алгоритм претерпел два принципиальных изменения по сравнению с предшественником RC5: • в алгоритме используется умножение по модулю 232; • для сохранения 32-битных вычислений вместо разбиения шифруемого блока данных (128 бит согласно принципиальному требованию конкурса AES) на два 64-битных субблока выполняется его разбиение на 4 32-битных субблока и их обработка по несколько измененной схеме. Рис.5. Преимущества: • Высокая эффективность на 32-битовых платформах, особенно поддерживаю­щих операции умножения и циклических сдвигов (самый быстрый из алгоритмов-финалистов). • Простая структура алгоритма упрощает анализ его надежности. • Наличие хорошо изученного предшественника – RC5. • Быстрая процедура формирования ключа. • Потенциально поддерживает размер ключа больше 256 бит. • Длина ключа и число раундов могут быть переменными. • Зашифрование и расшифрование практически идентичны. Недостатки: • Относительно низкий уровень защищенности. • Снижение эффективности на платформах, не имеющих необходимых операций. Скорость шифрования при программной реализации сильно зависит от того, поддерживает ли платформа 32-битное умножение и вращение на переменное число бит. • RC6 сложно реализуем аппаратно и в условиях ограниченных ресурсов. • Достаточно сложно защищается от атак по времени выполнения и потребляемой мощности. • Недостаточно полно поддерживает расширение ключей «на лету». • Распараллеливание вычислений при шифровании алгоритмом RC6 реализуемо с ограничениями. 7.7 Шифр Serpent Шифр "Змей" – самый известный из совместных проектов англичанина Росса Андерсона и израильтянина Эли Бихама, имеющих в своем активе уже целый зверинец криптоалгоритмов: Bear, Lion, Tiger (медведь, лев, тигр). При разработке Serpent авторы специально пригласили датчанина Ларса Кнудсена (работающего в университете Бергена, Норвегия), знаменитого своими крайне успешными криптоаналитическими работами по вскрытию блочных шифров, чтобы он выявил все возможные слабые места в стойкости нового алгоритма. Поскольку и сам Бихам (которого без преувеличения можно назвать величайшим криптоаналитиком современности) – соавтор метода дифференциального анализа, лежащего в основе современных методов вскрытия блочных шифров, то в результате такого сотрудничества появился чрезвычайно стойкий алгоритм. "Ультраконсервативный по запасу прочности", как охарактеризовали его в NIST, поскольку создав шифр, противостоящий всем известным на сегодня атакам, разработчики затем удвоили количество его итераций. Как следствие этого, по своей скорости Serpent оказывается медленнее, чем четыре остальных финалиста. Тем не менее, для повышения производительности разработчиками предложен специальный метод оптимизации ("bitslice"), изобретенный в свое время Бихамом при оптимизации программных версий шифра DES. Алгоритм Serpent хорошо ложится в аппаратное исполнение и в ограниченные по памяти устройства. Реализующая SP-сеть простая конструкция и консервативный выбор операций существенно упрощают анализ стойкости, а также выбранные операции облегчают защиту от атак на физические реализации шифра. В алгоритме не обнаружено слабостей в защите. Еще до конкурса AES появился алгоритм Serpent-0, отличающийся от присланного на конкурс алгоритма Serpent-1 (или просто Serpent) только тем, что в нем были использованы таблицы замен алгоритма DES (в незначительно модифицированном виде). В Serpent используются уже оригинальные таблицы замен, которые, по словам авторов, вкупе с незначительным изменением процедуры расширения ключа усилили алгоритм против дифференциального и линейного криптоанализа. Алгоритм представляет собой SP-сеть с элементами сетей Фейштеля для четырех ветвей смешанного типа: 2 четные ветви изменяют совместо значения нечетных, затем меняются местами. В качестве криптопреобразований используются только "исключающее ИЛИ", табличные подстановки и битовые сдвиги. Алгоритм состоит из 32 раундов. Сами раунды составлены таким образом, что добавление к ветвям материала ключа на первом и последнем раундах образует входное и выходное забеливание. Преимущества: • Простая структура алгоритма облегчает его анализ с целью нахождения возможных уязвимостей. • Serpent эффективно реализуем аппаратно и в условиях ограниченных ресурсов, хорошо подходит для реализации в smart-картах из-за низких требований к памяти. • Serpent легко модифицируется с целью защиты от атак по времени выполнения и потребляемой мощности (однако, за счет снижения скорости). • Высокий уровень защищенности. Недостатки: • Самый медленный алгоритм среди финалистов. • Процедуры зашифрования и расшифрования абсолютно различны, т.е. требуют раздельной реализации. • Распараллеливание вычислений при шифровании алгоритмом Serpent реализуемо с ограничениями. • Уязвим к анализу мощности. Рис.6. 7.8 Шифр TwoFish Данный алгоритм – прямой потомок качественного и широко распространенного шифра Blowfish Брюса Шнайера (англ. Bruce Schneier — автора множества работ в области криптологии и основателя американской компании Counterpane Systems, являющейся одним из мировых лидеров в области разработки средств криптографической защиты информации). Новая криптосхема демонстрирует быструю и разностороннюю производительность на множестве платформ, хорошо укладывается как в аппаратные, так и в ограниченные по памяти смарт-картные реализации. Одна из главных особенностей шифра – изменяющиеся в зависимости от секретного ключа таблицы замены (S-боксы). Как полагают разработчики, в общем случае такие таблицы обеспечивают более высокую стойкость, нежели S-боксы с фиксированными значениями (успешное противостояние Blowfish всем попыткам вскрытия в течение последних пяти лет косвенно подтверждает это утверждение). Возможность проведения предварительных вычислений данных таблиц позволяет шифру Twofish при необходимости гибко наращивать свою производительность. Схема имеет множество настраиваемых элементов, и в зависимости от этих установок, Twofish может быть оптимизирован по скорости, разворачиванию ключа, памяти, размеру кода в программной реализации или по занимаемому пространству в реализации аппаратной. Ощутимый минус конструкции – ее сложность, затрудняющая криптоанализ стойкости шифра. Помимо самого Шнайера в команду разработчиков входит почти весь коллектив его фирмы Conterpane Systems (Джон Келси (John Kelsey), Крис Холл (Chris Hall) и Нильс Фергюсон (Niels Ferguson); сейчас, правда, фирма сильно расширяется), а также Дуг Уайтинг (Doug Whiting) – шеф по науке фирмы Hifn Incorporated (разработка аппаратных средств защиты Internet-коммуникаций), и Дэвид Вагнер (David Wagner) – аспирант Калифорнийского университета в Беркли. Помимо «стандартного» варианта алгоритма Twofish, авторы предложили еще и Twofish Family Key (или Twofish-FK) — шаблон для формирования на основе Twofish вариантов алгоритма, несовместимых между собой и предназначенных, таким образом, для ограниченных применений, например, в рамках конкретных организаций для защиты внутреннего документооборота. Несовместимость вариантов достигается путем применения дополнительного ключа (FK), константного для всех субъектов, применяющих конкретный из вариантов алгоритма Twofish-FK. Т.е. конкретное значение используемого FK формирует некий «контур совместимости» криптосредств, реализующих Twofish-FK. В алгоритме TwoFish разработчики оставили некоторые удачные решения из проекта-предшественника, кроме этого произвели тщательные исследования по перемешиванию данных в сети Фейштеля. Алгоритм представляет собой сеть Фейштеля смешанного типа: первая и вторая ветвь на нечетных раундах производят модификацию третьей и четвертой (MDS – мультиплексер-демультиплексер), на четных раундах ситуация меняется на противоположную. В алгоритме используется криптопреобразование Адамара (англ. Pseudo-Hadamar Transform – РНТ) – обратимое арифметическое сложение первого потока со вторым, а затем второго с первым (рис.7). Единственным нарицанием, поступившим в адрес TwoFish от независимых исследователей, является тот факт, что при расширении материала ключа в алгоритме используется сам же алгоритм. Двойное применение блочного шифра довольно сильно усложняет его анализ на предмет наличия слабых ключей или недокументированных замаскированных связей между входными и выходными данными. Преимущества: • Высокий уровень защищенности. • Twofish эффективно реализуем аппаратно и в условиях ограниченных ресурсов, хорошо подходит для реализации в smart-картах из-за низких требований к памяти. • Высокая эффективность на любых платформах, в том числе на 64-разрядных архитектурах фирм AMD и Motorola. • Поддерживает распараллеливание на уровне инструкций. • Допускает произвольную длину ключа до 256 бит. • Зашифрование и расшифрование в алгоритме Twofish практически идентичны. • Является лучшим из алгоритмов-финалистов с точки зрения поддержки расширения ключа «на лету». • Несколько вариантов реализации позволяют оптимизировать алгоритм для конкретных применений. Недостатки: • Сложность структуры алгоритма затрудняет его анализ. • Сложная и медленная процедура расширения ключа. • Относительно сложно защищается от атак по времени выполнения и потребляемой мощности. • Распараллеливание вычислений при шифровании алгоритмом Twofish реализуемо с ограничениями. Рис.7. 7.9 Победитель AES – шифр Rijndael Rijndael в соответствии с фламандскими правилами читается как "Рэндал". Самостоятельная и оригинальная разработка молодых, но достаточно широко известных в криптографическом сообществе ученых из Бельгии Йона Дамена и Венсана Рэмена. Алгоритм демонстрирует превосходную производительность на всех рассматриваемых в состязании платформах. Для шифра характерны быстрое разворачивание ключа и низкие требования к памяти, так что он также хорошо работает и в аппаратной реализации, и в ограниченных по памяти условиях. Простая конструкция схемы и консервативный выбор операций должны облегчить дальнейший криптоанализ шифра. Кроме того, специалистами отдельно отмечается, что избранные конструкторами операции относительно просто защитить от известных опасных атак на физическую реализацию криптоалгоритма. Еще одна важная положительная характеристика (хотя и не рассматривавшаяся при выборе финалистов) – в шифре Rijndael имеется существенный потенциал к распараллеливанию, то есть к получению выгод в производительности благодаря применению компьютерных процессоров, позволяющих одновременно выполнять множество инструкций. Он является нетрадиционным блочным шифром, поскольку не использует сеть Фейштеля для криптопреобразований. Алгоритм представляет каждый блок кодируемых данных в виде двумерного массива байт размером 4*4, 4*6 или 4*8 в зависимости от установленной длины блока. Далее на соответствующих этапах преобразования производятся либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами в таблице. Rijndael большинством участников конкурса назван как лучший выбор, ес­ли будет отвергнут их собственный шифр, Основан на шифре SQUARE тех же авторов. В алгоритме не обнаружено слабостей в защите. Преимущества: • высокая эффективность на любых платформах; • высокий уровень защищенности; • хорошо подходит для реализации в smart-картах из-за низких требований к памяти; • быстрая процедура формирования ключа; • хорошая поддержка параллелизма на уровне инструкций; • поддержка разных длин ключа с шагом 32 бита. Недостатки: • уязвим к анализу мощности. Все преобразования в шифре имеют строгое математическое обоснование. Сама структура и последовательность операций позволяют выполнять данный алгоритм эффективно как на 8-разрядных, так и на 32-разрядных процессорах. В структуре алгоритма заложена возможность параллельного исполнения некоторых операций, что на многопроцессорных рабочих станциях может еще поднять скорость шифрования в 4 раза. Алгоритм состоит из некоторого количества раундов. От 10 до 14 – это зависит от размера блока и длины ключа и определяется в зависимости по следующей таблице: pазмер ключа 128 192 256 размер блока 128 10 12 14 192 12 12 14 256 14 14 14 Иными словами, из двух размеров выбирается максимальный, и если он равен 128 бит, то используется 10 раундов, если 192 бита, то 12, и если 256 – то 14 раундов шифрования. В качестве стандарта принят вариант шифра только с размером блока 128 бит. Последовательно выполняются следующие операции: • ByteSub – табличная подстановка 8*8 бит; каждый байт заменяется соответствующим элементом в фиксированной 8-битной таблице поиска: • ShiftRow – сдвиг строк в двумерном массиве на различные смещения; байты в каждой строке state циклически сдвигаются влево (размер смещения байтов каждой строки зависит от её номера): • MixColumn – математическое преобразование, перемешивающее данные внутри столбца; каждая колонка состояния перемножается с фиксированным многочленом c(x): • AddRoundKey – добавление материала ключа операцией XOR; каждый байт состояния объединяется с RoundKey: В последнем раунде операция перемешивания столбцов отсутствует, что делает всю последовательность операций симметричной. ====================================================================================== ВОПРОСЫ: 1. Особенности шифров "первого поколения" 2. Общие сведения о конкурсе AES 3. Интеллектуальные карты 4. Проведение конкурса AES 5. Шифр MARS 6. Шифр RC6 7. Шифр Serpent 8. Шифр TwoFish 9. Победитель конкурса AES – шифр Rijndael 8. Симметричные криптосистемы 8.1 Секретность и имитостойкость Криптографические преобразования обеспечивают решение двух главных проблем ЗИ: проблемы секретности (лишение противника возможности извлечь информацию из канала связи) и проблемы имитостойкости (лишение противника возможности ввести ложную информацию в канал связи или изменить сообщение так, чтобы изменился его смысл). В случае телефонной связи главной является проблема имитостойкости, поскольку вызванная сторона не может часто определить, кто звонит. Подслушивание, требующее подключения к проводам, технически более сложно и юридически более опасно, чем вызов корреспондента и выдача себя за кого-то другого. В случае радиосвязи ситуация прямо противоположная. Перехват здесь является пассивным и сопряжен с незначительной юридической опасностью, тогда как введение информации связано с риском обнаружения незаконного передатчика и юридического преследования. Проблема секретности Проблемы секретности и имитостойкости между собой тесно связаны, поэтому методы решения одной из них часто применимы для решения другой. Из двух названных проблем проблема секретности обычно рассматривается первой, как более старая и шире известная. Рассмотрим схему прохождения потока информации в криптографической системе, обеспечивающей секретность (рис. 1.). Рис. 1. Поток информации в криптографической системе, обеспечивающей секретность Отправитель генерирует открытый текст, или шифрованное сообщение Р, которое должно быть передано получателю по незащищенному прослушиваемому каналу. Для того чтобы перехватчик не смог узнать содержания сообщения Р, отправитель шифрует или кодирует его с помощью обратимого преобразования Sk и получает криптограмму или шифрованный текст С = Sk(P). Получатель, приняв сообщение С, дешифрирует или декодирует его с помощью обратного преобразования S и получает исходное сообщение S (C) = S [Sk(P)] =P Преобразование Sk выбирается из семейства криптографических преобразований, называемых криптографической, или общей, системой. Параметр, выбирающий отдельное используемое преобразование, является ключом. Общая система — это набор инструкций, аппаратурных средств и программного обеспечения ЭВМ, с помощью которого можно зашифровать и расшифровать текст разными способами, один из которых выбирается с помощью конкретного ключа. Говоря более формально, криптографическая система — это однопараметрическое семейство (Sk) кK обратимых преобразований Sk: РС из пространства Р сообщений открытого текста в пространство С шифрованных сообщений. Параметр, или ключ К, называется пространством ключей. Обычно общая система рассматривается как общедоступная. С одной стороны, открытая для всех часть общей системы является предметом соглашения, а с другой стороны, это отражает очень важное правило техники защиты: защищенность системы не должна зависеть от секретности чего-либо такого, что нельзя быстро изменить в случае утечки секретной информации. Обычно общая система является некоторой совокупностью аппаратуры и программ, которую можно изменить только со значительной затратой времени и средств, тогда как ключ представляет собой легко изменяемый объект. Поскольку вся секретность сосредоточена в секретности ключа, то его надо передавать отправителю и получателю по защищенному каналу распространения ключей, такому, как, например, курьерская служба и т.д. Проблема имитостойкости Теперь рассмотрим схему прохождения потока информации в криптографической системе, обеспечивающей имитостойкость (рис. 2.). Рис. 2. Поток информации в криптографической системе, обеспечивающей имитостойкость При решении проблемы имитостойкости противник может не только видеть все криптограммы, передаваемые по каналу, но может также изменять их по своему желанию. Законный получатель защищает себя от обмана, дешифрируя все полученные сообщения и принимая только те сообщения, которые зашифрованы правильным ключом. Любая попытка со стороны перехватчика расшифровать криптограмму С для получения открытого текста Р или зашифровать свой текст Р' для получения приемлемой криптограммы С' без получения ключа должно быть полностью исключено. Если криптоанализ невозможен и криптоаналитик не может вывести Р и С или С' из Р' без предварительного получения ключа, то такая криптографическая система является криптостойкой. На протяжении многих веков среди специалистов не утихали споры о стойкости шифров и о возможности построения абсолютно стойкого шифра. “Отец кибернетики” Норберт Винер отмечал: “Любой шифр может быть вскрыт, если только в этом есть настоятельная необходимость и информация, которую предполагается получить, стоит затраченных средств, усилий и времени…” Поэтому у пользователя остается единственный путь — получение практических оценок стойкости. Этот путь состоит из следующих этапов: 1. Понять и четко сформулировать, от какого противника необходимо защищать информацию. Следует уяснить, что именно противник знает или может узнать о системе шифра, какие силы и средства он сможет применить для его вскрытия. 2. Мысленно стать в положение противника и попытаться с его позиций вскрыть шифр, т.е. разработать различные алгоритмы вскрытия шифра, обеспечивая при этом в максимальной мере моделирование сил, средств и возможностей противника. 3. Наилучший из разработанных алгоритмов использовать для практической оценки стойкости шифра. Следует упомянуть о двух простейших методах вскрытия шифра: случайного угадывания ключа (он срабатывает с малой вероятностью, но является самую низкую вычислительную сложность) и перебора всех подряд ключей вплоть до нахождения истинного (он срабатывает всегда, но имеет самую высокую вычислительную сложность). 8.2 Задача аутентификации данных в блочных шифрах Так как информация имеет нематериальный характер, массивы данных не несут на себе никаких отпечатков, по которым можно было бы судить об их прошлом – о том, кто является автором, о времени создания, о фактах, времени и авторах вносимых изменений. Модификация информационного массива не оставляет осязаемых следов на нем и не может быть обнаружена обычными методами. «Следы модификации» в той или иной форме могут присутствовать только на материальных носителях информации – так, специальная экспертиза вполне способна установить, что сектор X на некоей дискете был записан позже всех остальных секторов с данными на этой же дорожке дискеты, и эта запись производилась на другом дисководе. Указанный факт, будучи установленным, может, например, означать, что в данные, хранимые на дискете, были внесены изменения. Но после того, как эти данные будут переписаны на другой носитель, их копии уже не будут содержать никаких следов модификации. Реальные компьютерные данные за время своей жизни многократно меняют физическую основу представления и постоянно кочуют с носителя на носитель, в силу чего их не обнаружимое искажение не представляет серьезных проблем. Поскольку создание и использование информационных массивов практически всегда разделены во времени и/или в пространстве, у потребителя всегда могут возникнуть обоснованные сомнения в том, что полученный им массив данных создан нужным источником и притом в точности таким, каким он дошел до него. Таким образом, в системах обработки информации помимо обеспечения ее секретности важно гарантировать следующие свойства для каждого обрабатываемого массива данных: • подлинность – он пришел к потребителю именно таким, каким был создан источником и не претерпел на своем жизненном пути несанкционированных изменений; • авторство – он был создан именно тем источником, каким предполагает потребитель. Обеспечение системой обработки этих двух качеств массивов информации и составляет задачу их аутентификации, а соответствующая способность системы обеспечить надежную аутентификацию данных называется ее аутентичностью. На первый взгляд может показаться, что данная задача решается простым шифрованием. Действительно, если массив данных зашифрован с использованием стойкого шифра, такого, например, как ГОСТ 28147-89, то для него практически всегда будет справедливо следующее: • в него трудно внести изменения осмысленным образом, поскольку со степенью вероятности, незначительно отличающейся от единицы, факты модификации зашифрованных массивов данных становятся очевидными после их расшифрования – эта очевидность выражается в том, что такие данные перестают быть корректными для их интерпретатора: вместо текста на русском языке появляется белиберда, архиваторы сообщают, что целостность архива нарушена и т.д.; • только обладающие секретным ключом шифрования пользователи системы могут изготовить зашифрованное сообщение, таким образом, если к получателю приходит сообщение, зашифрованное на его секретном ключе, он может быть уверенным в его авторстве, так как кроме него самого только законный отправитель мог изготовить это сообщение. Тем не менее, использование шифрования в системах обработки данных само по себе неспособно обеспечить их аутентичности по следующим причинам: 1. Изменения, внесенные в зашифрованные данные, становятся очевидными после расшифрования только в случае большой избыточности исходных данных. Эта избыточность имеет место, например, если массив информации является текстом на каком-либо человеческом языке. Однако в общем случае это требование может не выполняться – если случайная модификация данных не делает их недопустимым для интерпретации со сколько-нибудь значительной долей вероятности, то шифрование массива не обеспечивает его подлинности. Говоря языком криптологии, аутентичность и секретность суть различные свойства криптосистем. Или, более просто: свойства систем обработки информации обеспечивать секретность и подлинность обрабатываемых данных в общем случае могут не совпадать. 2. Факт успешного (в смысле предыдущего пункта) расшифрования зашифрованных на секретном ключе данных может подтвердить их авторство только в глазах самого получателя. Третья сторона не сможет сделать на основании этого однозначного вывода об авторстве массива информации, так как его автором может быть любой из обладателей секретного ключа, а их как минимум два – отправитель и получатель. Поэтому в данном случае споры об авторстве сообщения не могут быть разрешены независимым арбитражем. Это важно для тех систем, где между участниками нет взаимного доверия, что весьма характерно для банковских систем, связанных с управлением значительными ценностями. Таким образом, существование проблемы подтверждения подлинности и авторства массивов данных, отдельной от задачи обеспечения их секретности, не вызывает сомнения. В принципе, для решения указанных задач может быть использован любой традиционный блочный криптографический алгоритм. 8.3 Функции и модель симметричной криптосистемы В системе, показанной на рис. 3, в информационных отношениях принима­ют участие 3 действующих лица: отправитель (абонент А) и получатель инфор­мации (абонент В), а также противник W. Современные одноключевые крипто­системы предполагают использование взаимно-обратных преобразований Е и D блоков данных фиксированной длины. Для задания блочной криптосистемы не­обходимо определить: • числовые параметры криптоалгоритма – разрядность n шифруемых блоков данных, объем ключевой информации, размер раундового ключа, число ра­ундов шифрования; • раундовую функцию шифрования F; • алгоритм получения раундовых ключей из исходного ключа kАВ. Рис. 3. Модель криптосистемы с секретным ключом Задача абонента А заключается в том, чтобы передать получателю конфиден­циальное сообщение р, состоящее из m блоков длины n, т. е. задача абонента В заключается в том, чтобы, получив переданное сообщение понять его содержание. Для того, чтобы только получатель мог прочитать по­сланное сообщение, отправитель преобразует открытый текст р с помощью функции зашифрования Е и секретного (известного только А и В) ключа kАВ в шифротекст с, который и поступает в канал связи. Получатель восстанавливает исходный текст сообщения с помощью функции расшифрования D и того же секретного ключа kАB. Для реализации такого информационного обмена должен существовать на­дежный канал, по которому происходит предварительный обмен секретными ключами, а у одного из его законных участников должен быть генератор, фор­мирующий качественные ключи kAB, обеспечивающие гарантированную стой­кость системы. Цель противника – воспрепятствовать осуществлению намерений законных участников информационного обмена. В общем случае противник может пере­хватывать зашифрованные сообщения, модифицировать их и даже посылать фальсифицированные сообщения стороне В якобы от имени другой, в рассмат­риваемом случае от стороны А. Все предыдущее касалось только криптоалгоритмов, то есть методов преобразования небольшого блока данных (от 4 до 32 байт) в закодированный вид в зависимости от заданного двоичного ключа. Криптоалгоритмы несомненно являются "сердцем" криптографических систем, но их непосредственное применение без каких-либо модификаций для кодирования больших объемов данных на самом деле не очень приемлимо. Все недостатки непосредственного применения криптоалгоритмов устраняются в криптосистемах. Криптосистема – это завершенная комплексная модель, способная производить двусторонние криптопреобразования над данными произвольного объема и подтверждать время отправки сообщения, обладающая механизмом преобразования паролей и ключей и системой транспортного кодирования. Таким образом, криптосистема выполняет три основные функции: 1. усиление защищенности данных; 2. облегчение работы с криптоалгоритмом со стороны человека; 3. обеспечение совместимости потока данных с другим программным обеспечением. Конкретная программная реализация криптосистемы называется криптопакетом. 8.4 Алгоритмы создания цепочек Первая задача, с которой мы столкнемся при шифровании данных криптоалгоритмом – это данные с длиной, неравной длине 1 блока криптоалгоритма. Эта ситуация будет иметь место практически всегда. Первый вопрос: Что можно сделать, если мы хотим зашифровать 24 байта текста, если используется криптоалгоритм с длиной блока 8 байт? ◦ Последовательно зашифровать три раза по 8 байт и сложить их в выходной файл так, как они лежали в исходном. ◦ А если данных много и некоторые блоки по 8 байт повторяются, это значит, что в выходном файле эти же блоки будут зашифрованы одинаково – это очень плохо. Второй вопрос: А что если данных не 24, а 21 байт? Не шифровать последние 5 байт или чем-то заполнять еще 3 байта, – а потом при дешифровании их выкидывать. Первый вариант вообще никуда не годится, а второй применяется, но чем заполнять? Для решения этих проблем и были введены в криптосистемы алгоритмы создания цепочек (англ. chaining modes). Самый простой метод мы уже в принципе описали. Это метод ECB (Electronic Code Book). Шифруемый файл временно разделяется на блоки, равные блокам алгоритма, каждый из них шифруется независимо, а затем из зашифрованных пакетов данных компонуется в той же последовательности файл, который отныне надежно защищен криптоалгоритмом. Название алгоритм получил из-за того, что в силу своей простоты он широко применялся в простых портативных устройствах для шифрования – электронных шифрокнижках. Схема данного метода приведена на рис. 4. В ГОСТ 28147-89 данный режим назван режимом про­стой замены. В том случае, когда длина пересылаемого пакета информации не кратна длине блока криптоалгоритма возможно расширение последнего (неполного) блока байт до требуемой длины либо с помощью генератора псевдослучайных чисел, что не всегда безопасно в отношении криптостойкости, либо с помощью так назывемой хеш-суммы передаваемого текста. Второй вариант более предпочтителен, так как хеш-сумма обладает лучшими статистическими показателями, а ее априорная известность стороннему лицу равносильна знанию им всего передаваемого текста. Режим имеет 3 существенных недостатка. Так как блоки шифруются незави­симо друг от друга, при зашифровывании двух или более одинаковых блоков по­лучаются одинаковые блоки шифротекста, и наоборот. Данное свойство режима ЕСВ позволяет противнику делать выводы о тождественности тех блоков откры­того текста, которым соответствуют одинаковые блоки, шифротекста. В тех слу­чаях, когда длина исходного сообщения не кратна n, возникает проблема допол­нения последнего блока до нужного размера. Дополнение последнего неполного блока некоей фиксированной комбинацией битов в некоторых случаях может позволить противнику методом перебора определить этот неполный блок. И, на­конец, данный режим нечувствителен к выпадению или вставке целого числа блоков шифротекста. Рис. 4. Шифрование в режиме ЕСВ: а – зашифровывание; б – расшифровывание. Указанным выше недостатком этой схемы является то, что при повторе в исходном тексте одинаковых символов в течение более, чем 2*N байт (где N – размер блока криптоалгоритма), в выходном файле будут присутствовать одинаковые зашифрованные блоки. Поэтому, для более "мощной" защиты больших пакетов информации с помощью блочных шифров применяются несколько обратимых схем "создания цепочек". Все они почти равнозначны по криптостойкости, каждая имеет некоторые преимущества и недостатки, зависящие от вида исходного текста. Отмеченные недостатки ограничивают области использования режима ЕСВ только шифрованием ключевой информации, объем которой обычно кратен n, при этом качественные ключи не могут содержать повторяющихся блоков. Применение режима ЕСВ оправдано также в базах данных, когда требуется про­извольный доступ для чтения/записи к различным полям. Все схемы создания цепочек основаны на идее зависимости результирующего зашифровываемого блока от предыдущих, либо от позиции его в исходном файле. Это достигается с помощью блока "памяти" – пакета информации длины, равной длине блока алгоритма. Блок памяти (к нему применяют термин IV – англ. Initial Vector) вычисляется по определенному принципу из всех прошедших шифрование блоков, а затем накладывается с помощью какой-либо обратимой функции (обычно XOR) на обрабатываемый текст на одной из стадий шифрования. В процессе раскодирования на приемной стороне операция создания IV повторяется на основе принятого и расшифрованного текста, вследствие чего алгоритмы создания цепочек полностью обратимы. Все остальные режимы реализуют комбинированные схемы шифрования и обеспечивают зависимость каждого блока шифротекста не только от соответствующего блока открытого текста, но и от его номера. На рис. 5. пока­зана схема шифрования в режиме сцепления блоков шифротекста – СВС (Ci­phertext Block Chaining), где секретность n-разрядного блока с0 (синхропосылки) не является обязательной. Рис. 5. Режим шифрования СВС: а – зашифрование; б – расшифрование; с0 – синхропосылка. Отличительными особенностями режима СВС являются зависимость при за­шифровании i-го блока шифротекста от всех предшествующих блоков открыто­го текста и зависимость при расшифровании каждого блока открытого текста pi только от двух блоков сi-1 и сi шифротекста. Первое свойство делает пригодным использование режима для решения задач контроля целостности информации. Второе свойство делает режим самосинхронизирующимся: одиночная ошибка при передаче (ошибка при передаче одного блока) может привести к неправильному расшифрованию только двух блоков. Как будет видно в даль­нейшем, этот режим используется и в криптосистемах с открытым ключом в том случае, если размер шифруемого сообщения больше, чем размер блока. Схема режима обратной связи по шифротексту – СFВ (Ciphertext Feedback) показана на рис. 6, s0 – начальное состояние регистра сдвига (синхропосылка). В ГОСТ 28147-89 аналогичный режим назван режимом гаммирования с об­ратной связью. Свойства данной схемы шифрования аналогичны режиму СFС: при зашифровывании каждый блок шифротекста зависит от всего предшествующе­го ему открытого текста, при расшифровывании отсутствует эффект "размноже­ния" ошибок. Схема шифрования в режиме CFB при t = n показана на рис. 7. Рис. 6. Режим шифрования СFВ: а – зашифрование; б – расшифрование. Рис. 7. Режим шифрования CFB при t = n, где t – разрядность шифруемых блоков данных (1 Σbj , 1 ≤ j ≤ i-1, 2 < i < n. Можно убедиться в том, что проблема рюкзака для супервозрастающей последовательности может быть решен помощью процедуры, состоящей в выполнении следующих шагов: 1. Положить i = n. 2. Если i > 1, то положить хi равным 1 и S равным S – bi , если S > bi , и положить хi равным 0 в противном случае. 3. Положить i равным i–1 и возвратиться к шагу 2. В системе, основанной на проблеме рюкзака, величина S является параметром системы. Для вычисления открытого и соответствующего секретного ключа каждый из абонентов системы осуществляет следующую последовательность действий. 1. Выбирает супервозрастающую последовательность (b1, b2, ..., bn), и модуль m такой, что m>Σbi, 1 ≤ i ≤ n. 2. Выбирает случайное число W, 1 20 000 000 1985 80 > 2 000 000 1988 90 250 000 1989 100 30 000 1993 120 500 1994 129 100 Также задачу разложения потенциально можно решить с помощью алгоритма Шора разложения чисел на множители при использовании достаточно мощного квантового компьютера. Алгоритм был разработан Питером Шором в 1994 году. Семь лет спустя, в 2001 году, его работоспособность была продемонстрирована группой специалистов IBM. Алгоритм Шора основан на возможности быстро вычислить собственные значения унитарного оператора с высокой точностью, если можно эффективно вычислять любые его степени. Взяв в качестве такого оператора умножение на x по модулю N (этот оператор действует в 2n-мерном пространстве, где 2n-1 < N ≤ 2n, преобразуя базисный вектор, соответствующий числу a, в базисный вектор, соответствующий числу xa(modN)), мы сможем вычислить такое n, что xn = 1(mod N), что позволяет (с высокой вероятностью) разложить N на множители на обычном компьютере. Значимость алгоритма заключается в том, что при использовании достаточно мощного квантового компьютера, он сделает возможным взлом криптографических систем с открытым ключом. К примеру, RSA использует открытый ключ N, являющийся произведением двух больших простых чисел. Один из способов взломать шифр RSA — найти множители N. При достаточно большом N это практически невозможно сделать, используя известные классические алгоритмы. Так как алгоритм Шора работает только на квантовом компьютере, в настоящее время не существует технических средств, позволяющих за полиномиальное время от длины числа разложить достаточно большое число на множители. Алгоритм Шора в свою очередь, используя возможности квантовых компьютеров, способен произвести факторизацию числа за полиномиальное время. Это может поставить под угрозу надёжность большинства криптосистем с открытым ключом, основанных на сложности проблемы факторизации чисел. Как и другие алгоритмы для квантовых компьютеров, алгоритм Шора вероятностный: он даёт верный ответ с высокой вероятностью. Вероятность ошибки может быть уменьшена при повторном использовании алгоритма. Тем не менее, так как возможна проверка предложенного результата (в частности простотые числа) в полиномиальное время, алгоритм может быть модифицирован так, что ответ, полученный в полиномиальное время, будет верным с единичной вероятностью. Криптоанализ рюкзачной системы шифрования Заметим, что предложенная реализация алгоритма шифрует текстовые файлы, заменяя один символ другим. Очевидно, что в данной ситуации возможно успешное примение атаки на основе частотного анализа. Например, по следующему простейшему алгоритму: 1. Подсчёт частоты встречаемости шифрообозначений, а также их некоторых сочетаний (например, по 2, 3, 4 символа). 2. Выявление шифрообозначений, заменяющих один символ соответствующим ему другим. 3. Выдвижение гипотез о значениях шифрообозначений и их проверка. Здесь можно использовать практически любую достоверную и не очень информацию об открытом тексте, например, если заранее известен формат (XML) или набор используемых символов. Следует уточнить, что реализация алгоритма шифрования поддаётся совершенствованию, и только для наглядности она представлена в данном виде. Приведём несколько советов, как можно это сделать: 1. Можно кодировать один символ нескольмими – WORDом например. 2. Ничто не мешает кодировать не по одному символу, а сразу несколько символов. 3. Приведенные выше методы, к сожалению, не избавляют от раскрытия кода на основе статистического анализа. Для предотвращения этого можно добавить любую, хотя бы самую простую, зависимость одного шифруемого символа от другого, например соседнего (или нескольких символов). Заметим, что вне зависимости от реализации рюкзачный алгоритм шифрования не идеален. Доказано, что существует алгоритм полиномиальной сложности, который может быть использован противником для получения открытого текста М по шифротексту С. Пусть противнику известна последовательность {аi}, этот алгоритм находит пару таких целых чисел u1, m1, что отношение u1/ m1 близко к отношению u/m (где u = W-1 mod (m), a W, m являются частью секретного ключа). Кроме того, числа Bi = (ui * аi) mod (m), 1 3, называется множество точек с координатами (x, y), удовлетворяющих уравнению: y2 = x3 = ax + b, где a и b Fp, а 4a3 + 27b2 ≠ 0 вместе со специальной точкой O, называемой точкой бесконечности или, как еще иногда говорят, нулевой точкой. В группе точек на эллиптической кривой точка бесконечности O нужна для обеспечения существования обратного элемента в группе и необходимых свойств операций. Преимущество подхода на основе эллиптических кривых в сравнении с задачей факторизации числа, используемой в RSA, или задачей целочисленного логарифмирования, применяемой в алгоритме Диффи-Хеллмана и в DSS, заключается в том, что в данном случае обеспечивается эквивалентная защита при меньшей длине ключа. В общем случае уравнение эллиптической кривой Е имеет вид: y2 + axy + by = x3 + cx2 + dx + e. В качестве примера рассмотрим эллиптическую кривую Е, уравнение которой имеет вид: y2 + y = x3 – x2. На этой кривой лежат только четыре точки, координаты которых являются целыми числами. Это точки А (0, 0), В (1, -1), С (1, 0) и D (0, -1) (Рис.2). Рис. 2. Пример эллиптической кривой с четырьмя точками Для определения операции сложения для точек на эллиптической кривой сделаем следующие предположения: • На плоскости существует бесконечно удаленная точка 0 Е, в которой сходятся все вертикальные прямые. • Будем считать, что касательная к кривой пересекает точку касания два раза. • Если три точки эллиптической кривой лежат на прямой линии, то их сумма есть 0. Введем следующие правила сложения точек на эллиптической кривой: • Точка 0 выступает в роли нулевого элемента. Так, 0 = -0 и для любой точки Р на эллиптической кривой Р + 0 = Р. • Вертикальная линия пересекает кривую в двух точках с одной и той же координатой х – скажем, S = (x, y) и T = (x, -y). Эта прямая пересекает кривую и в бесконечно удаленной точке. Поэтому Р1 + Р2 + 0 = 0 и Р1 = -Р2. • Чтобы сложить две точки P и Q (см. рисунок 3) с разными координатами х, следует провести через эти точки прямую и найти точку пересечения ее с эллиптической кривой. Если прямая не является касательной к кривой в точках P или Q, то существует только одна такая точка, обозначим ее S. Согласно нашему предположению P + Q + S = О. Следовательно, P + Q = -S или P + Q = T. Если прямая является касательной к кривой в какой-либо из точек P или Q, то в этом случае следует положить S = P или S = Q соответственно. • Чтобы удвоить точку Q, следует провести касательную в точке Q и найти другую точку пересечения S с эллиптической кривой. Тогда Q + Q = 2Q = -S. Рис. 3. Сложение точек на эллиптической кривой Введенная таким образом операция сложения подчиняется всем обычным правилам сложения, в частности коммутативному и ассоциативному законам. Умножение точки Р эллиптической кривой на положительное число k определяется как сумма k точек Р. В криптографии с использованием эллиптических кривых все значения вычисляются по модулю р, где р является простым числом. Элементами данной эллиптической кривой являются пары неотрицательных целых чисел, которые меньше р и удовлетворяют частному виду эллиптической кривой: y2 ≡ x3 + ax + b (mod p). Такую кривую будем обозначать Ep(a,b). При этом числа а и b должны быть меньше р и должны удовлетворять условию 4a3 + 27b2 (mod p) ≠ 0. Множество точек на эллиптической кривой вычисляется следующим образом. 1. Для каждого такого значения х, что 0 ≤ х ≤ р, вычисляется x3 + ax + b (mod p). 2. Для каждого из полученных на предыдущем шаге значений выясняется, имеет ли это значение квадратный корень по модулю р. Если нет, то в Ep(a,b) нет точек с этим значением х. Если корень существует, имеется два значения y, соответствующих операции извлечения квадратного корня (исключением является случай, когда единственным значением оказывается y = 0). Эти значения (x, y) и будут точками Ep(a,b). Множество точек Ep(a,b) обладает следующими свойствами: 1. Р + 0 = Р. 2. Если Р = (x, y), то Р + (x, -y) = 0. Точка (x, -y) является отрицательным значением точки Р и обозначается -Р. Заметим, что (x, -y) лежит на эллиптической кривой и принадлежит Ep(a,b). 3. Если Р = (x1,y1) и Q = (x2,y2), где P ≠ Q, то P + Q = (x3,y3) определяется по следующим формулам: x3 ≡ λ2 – x1 – x2 (mod p) y3 ≡ λ (x1 – x3) – y1 (mod p) Число λ есть угловой коэффициент секущей, проведенной через точки P = (x1,y1) и Q = (x2,y2). При P = Q секущая превращается в касательную, чем и объясняется наличие двух формул для вычисления λ. Задача, которую должен решить в этом случае атакующий, есть своего рода задача "дискретного логарифмирования на эллиптической кривой", и формулируется она следующим образом. Даны точки P и Q на эллиптической кривой Ep (a,b). Необходимо найти коэффициент k < p такой, что P = k * Q. Относительно легко вычислить P по данным k и Q, но довольно трудно вычислить k, зная P и Q. В группе точек, принадлежащих эллиптической кривой существует задача, имеющая экспоненциальный уровень сложности и получившая название задачи дискретного логарифмирования на эллиптической кривой. Суть ее заключается в том, что при известных точках Q и P E, вычислительно трудно найти такое число x (если оно существует), что Q = xP. Стойкость криптографических систем на эллиптических кривых основана на сложности решения этой задачи. Приведем оценки необходимой вычислительной мощности для нахождения дискретного логарифма в группе точек эллиптической кривой: Модуль кривой, бит p 163 191 239 359 431 Порядок группы точек кривой, бит n 160 186 234 354 426 Требуемая вычислительная мощность (M/Y) 9,6*1011 7,9*1015 1,6*1023 1,5*1041 1052 1 M/Y – год работы компьютера, который выполняет один миллион операций в секунду. Задача дискретного логарифмирования в группе точек эллиптической кривой является более трудной, чем задача дискретного логарифмирования в конечном поле. В этом заключается основная причина преимущества использования криптосистем на эллиптических кривых, которые обеспечивают такой же уровень стойкости при использовании чисел существенно меньшего размера по сравнению с более традиционными криптосистемами, стойкость которых заключается в сложности задачи факторизации или дискретного логарифмирования в конечном поле. Соответственно при использовании чисел одинаковой размерности уровень стойкости криптосистем на эллиптических кривых значительно выше. На сегодняшний день лучший из известных алгоритмов – ρ-метод Полларда, дает следующую оценку для решения задачи дискретного логарифмирования в группе точек эллиптической кривой: (π * n/2)1/2/m, где m – количество процессоров для параллельных вычислений, а n – порядок группы точек эллиптической кривой. С помощью этого метода в 2000 г. была решена задача дискретного логарифмирования в группе точек эллиптической кривой с порядком в 108 бит. Для сравнения отметим, что криптосистема, использующая преобразования в группе точек эллиптической кривой с порядком в 160 бит, эквивалентна по стойкости криптосистеме RSA с модулем шифрования в 1024 бита. Рассмотрим три способа использования эллиптических кривых в криптографии. Аналог алгоритма обмена ключами Диффи-Хеллмана Обмен ключами с использованием эллиптических кривых может быть выполнен следующим образом. Сначала выбирается простое число р ≈ 2180 и параметры a и b для уравнения эллиптической кривой. Это задает множество точек Ep(a,b). Затем в Ep(a,b) выбирается генерирующая точка G = (x1,y1). При выборе G важно, чтобы наименьшее значение n, при котором n × G = 0, оказалось очень большим простым числом. Параметры Ep (a,b) и G криптосистемы являются параметрами, известными всем участникам. Обмен ключами между пользователями А и В производится по следующей схеме: 1. Участник А выбирает целое число nA, меньшее n. Это число является закрытым ключом участника А. Затем участник А вычисляет открытый ключ PA = nA * G, который представляет собой некоторую точку на Ep(a,b). 2. Точно так же участник В выбирает закрытый ключ nB и вычисляет открытый ключ PB. 3. Участники обмениваются открытыми ключами, после чего вычисляют общий секретный ключ K. Участник А: K = nA × PB. Участник В: K = nВ × PА. Следует заметить, что общий секретный ключ представляет собой пару чисел. Если данный ключ предполагается использовать в качестве сеансового ключа для алгоритма симметричного шифрования, то из этой пары необходимо создать одно значение. Алгоритм цифровой подписи ECDSA на основе эллиптических кривых Алгоритм ECDSA (Elliptic Curve Digest Signature Algorithm) принят в качестве стандартов ANSI X9F1 и IEEE P1363. Создание ключей: 1. Выбирается эллиптическая кривая Ep(a,b). Число точек на ней должно делиться на большое целое n. 2. Выбирается точка Р Ep(a,b). 3. Выбирается случайное число d [1, n-1]. 4. Вычисляется Q = d * P. 5. Закрытым ключом является d, открытым ключом – (E, P, n, Q). Создание подписи: 1. Выбирается случайное число k [1, n-1]. 2. Вычисляется k * P = (x1, y1) и r = x1(mod n). Проверяется, чтобы r не было равно нулю, так как в этом случае подпись не будет зависеть от закрытого ключа. Если r = 0, то выбирается другое случайное число k. 3. Вычисляется k-1 mod n. 4. Вычисляется s = k-1 (Н(M) + dr) (mod n). Проверяется, чтобы s не было равно нулю, так как в этом случае необходимого для проверки подписи числа s-1 mod n не существует. Если s=0, то выбирается другое случайное число k. 5. Подписью для сообщения М является пара чисел (r,s). Проверка подписи: 1. Проверить, что целые числа r и s принадлежат диапазону чисел [0, n-1]. В противном случае результат проверки отрицательный, и подпись отвергается. 2. Вычислить w = s-1(mod n) и H(M). 3. Вычислить u1 = H(M) w(mod n) и u2 = rw(mod n). 4. Вычислить u1P + u2Q = (x0, y0) и v = x0(mod n). 5. Подпись верна в том и только том случае, когда v = r. Шифрование/дешифрование с использованием эллиптических кривых Рассмотрим самый простой подход к шифрованию/дешифрованию с использованием эллиптических кривых. Задача состоит в том, чтобы зашифровать сообщение М, которое может быть представлено в виде точки на эллиптической кривой Pm(x,y). Как и в случае обмена ключом, в системе шифрования/дешифрования в качестве параметров рассматривается эллиптическая кривая Ep(a,b) и точка G на ней. Участник B выбирает закрытый ключ nB и вычисляет открытый ключ PB = nB*G. Чтобы зашифровать сообщение Pm используется открытый ключ получателя B PB. Участник А выбирает случайное целое положительное число k и вычисляет зашифрованное сообщение Cm, являющееся точкой на эллиптической кривой. Cm = {k * G, Pm + k * PB} Чтобы дешифровать сообщение, участник В умножает первую координату точки на свой закрытый ключ и вычитает результат из второй координаты: Pm + k * PB – nB * (k * G) = Pm + k * (nB * G) – nB * (k * G) = Pm Участник А зашифровал сообщение Pm добавлением к нему k*PB. Никто не знает значения k, поэтому, хотя PB и является открытым ключом, никто не знает k*PB. Противнику для восстановления сообщения придется вычислить k, зная G и k*G. Сделать это будет нелегко. Получатель также не знает k, но ему в качестве подсказки посылается k*G. Умножив k*G на свой закрытый ключ, получатель получит значение, которое было добавлено отправителем к незашифрованному сообщению. Тем самым получатель, не зная k, но, имея свой закрытый ключ, может восстановить незашифрованное сообщение. 10.10 Общие принципы архивации. Классификация методов Следующей темой является архивация данных. Как Вам известно, подавляющее большинство современных форматов записи данных содержат их в виде, удобном для быстрого манипулирования, для удобного прочтения пользователями. При этом данные занимают объем больший, чем это действительно требуется для их хранения. Алгоритмы, которые устраняют избыточность записи данных, называются алгоритмами сжатия данных, или алгоритмами архивации. В настоящее время существует огромное множество программ для сжатия данных, основанных на нескольких основных способах. Зачем же нужна архивация в криптографии? Дело в том, что в современном криптоанализе, то есть науке о противостоянии криптографии, с очевидностью доказано, что вероятность взлома криптосхемы при наличии корреляции между блоками входной информации значительно выше, чем при отсутствии таковой. А алгоритмы сжатия данных по определению и имеют своей основной задачей устранение избыточности, то есть корреляций между данными во входном тексте. Все алгоритмы сжатия данных качественно делятся на: 1) алгоритмы сжатия без потерь, при использовании которых данные на приемной восстанавливаются без малейших изменений; 2) алгоритмы сжатия с потерями, которые удаляют из потока данных информацию, незначительно влияющую на суть данных, либо вообще невоспринимаемую человеком (такие алгоритмы сейчас разработаны только для аудио– и видеоизображений). В криптосистемах, естественно, используется только первая группа алгоритмов. Существует два основных метода архивации без потерь: • алгоритм Хаффмана (англ. Huffman), ориентированный на сжатие последовательностей байт, не связанных между собой; • алгоритм Лемпеля-Зива (англ. Lempel, Ziv), ориентированный на сжатие любых видов текстов, то есть использующий факт неоднократного повторения "слов" – последовательностей байт. Практически все популярные программы архивации без потерь (ARJ, RAR, ZIP и т.п.) используют объединение этих двух методов – алгоритм LZH. 10.11 Алгоритмы Хаффмана и Лемпеля-Зива. Алгоритм Хаффмана Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, – реже. Следовательно, если для записи распространенных символов использовать короткие последовательности бит, длиной меньше 8, а для записи редких символов – длинные, то суммарный объем файла уменьшится. Хаффман предложил очень простой алгоритм определения того, какой символ необходимо кодировать каким кодом для получения файла с длиной, очень близкой к его энтропии (то есть информационной насыщенности). Пусть у нас имеется список всех символов, встречающихся в исходном тексте, причем известно количество появлений каждого символа в нем. Выпишем их вертикально в ряд в виде ячеек будущего графа по правому краю листа (рис. 4а). Выберем два символа с наименьшим количеством повторений в тексте (если три или большее число символов имеют одинаковые значения, выбираем любые два из них). Проведем от них линии влево к новой вершине графа и запишем в нее значение, равное сумме частот повторения каждого из объединяемых символов (рис. 4б). Отныне не будем принимать во внимание при поиске наименьших частот повторения два объединенных узла (для этого сотрем числа в этих двух вершинах), но будем рассматривать новую вершину как полноценную ячейку с частотой появления, равной сумме частот появления двух соединившихся вершин. Будем повторять операцию объединения вершин до тех пор, пока не придем к одной вершине с числом (рис. 4в и 4г). Для проверки: очевидно, что в ней будет записана длина кодируемого файла. Теперь расставим на двух ребрах графа, исходящих из каждой вершины, биты 0 и 1 произвольно – например, на каждом верхнем ребре 0, а на каждом нижнем – 1. Теперь для определения кода каждой конкретной буквы необходимо просто пройти от вершины дерева до нее, выписывая нули и единицы по маршруту следования. Для рисунка 4.5 символ "А" получает код "000", символ "Б" – код "01", символ "К" – код "001", а символ "О" – код "1". а) б) в) г) Рис. 4. В теории кодирования информации показывается, что код Хаффмана является префиксным, то есть код никакого символа не является началом кода какого-либо другого символа. Проверьте это на нашем примере. А из этого следует, что код Хаффмана однозначно восстановим получателем, даже если не сообщается длина кода каждого переданного символа. Получателю пересылают только дерево Хаффмана в компактном виде, а затем входная последовательность кодов символов декодируется им самостоятельно без какой-либо дополнительной информации. Например, при приеме "0100010100001" им сначала отделяется первый символ "Б": "01-00010100001", затем снова начиная с вершины дерева – "А" "01-000-10100001", затем аналогично декодируется вся запись "01-000-1-01-000-01" "БАОБАБ". Алгоритм Лемпеля-Зива Классический алгоритм Лемпеля-Зива – LZ77, названный так по году своего опубликования, предельно прост. Он формулируется следующим образом: "если в прошедшем ранее выходном потоке уже встречалась подобная последовательность байт, причем запись о ее длине и смещении от текущей позиции короче чем сама эта последовательность, то в выходной файл записывается ссылка (смещение, длина), а не сама последовательность". Так фраза "КОЛОКОЛ_ОКОЛО_КОЛОКОЛЬНИ" закодируется как "КОЛО(-4,3)_(-5,4)О_(-14,7)ЬНИ". Распространенный метод сжатия RLE (англ. Run Length Encoding), который заключается в записи вместо последовательности одинаковых символов одного символа и их количества, является подклассом данного алгоритма. Рассмотрим, например, последовательность "ААААААА". С помощью алгоритма RLE она будет закодирована как "(А,7)", в то же время ее можно достаточно хорошо сжать и с помощью алгоритма LZ77: "А(-1,6)". Действительно, степень сжатия именно такой последовательности им хуже (примерно на 30-40%), но сам по себе алгоритм LZ77 более универсален, и может намного лучше обрабатывать последовательности вообще несжимаемые методом RLE. 10.12 Совмещенные алгоритмы Большинство алгоритмов сжатия базируется на последовательной схеме сжатия Лемпеля-Зива. Данный алгоритм используется, в частности, стандартной процедурой UNIX Compress. Методики со статистическим моделированием могут обеспечить лучшее сжатие, но они заметно медленнее. Но существует алгоритм, который совмещает в себе лучшие из черт названных выше. Этот алгоритм не предусматривает последовательной обработки входных данных, а обрабатывает текст по-блочно. Здесь используется обратимое преобразование блока данных к виду, который позволяет эффективно сжать данные с помощью простых алгоритмов. Преобразование имеет целью сгруппировать символы так, чтобы вероятность появления последовательностей идентичных символов значительно возросла. Такой текст может быть легко сжат посредством локально-адаптивных алгоритмов в сочетании с кодировкой Хафмана и арифметической кодировкой. Последовательность S, содержащая N символов ({S(0), …, S(N-1)}), подвергается N циклическим сдвигам (вращениям), лексикографической сортировке, а последний символ при каждом вращении извлекается. Из этих символов формируется строка L, где i-ый символ является последним символом i-го вращения. Кроме строки L создается индекс I исходной строки S в упорядоченном списке вращений. Существует эффективный алгоритм восстановления исходной последовательности символов S на основе строки L и индекса I. Процедура сортировки объединяет результаты вращений с идентичными начальными символами. Предполагается, что символы в S соответствуют алфавиту, содержащему K символов. Для пояснения работы алгоритма возьмем последовательность S= “abraca” (N = 6), алфавит X = {'a','b','c','r'}. 3. Формируем матрицу из N*N элементов, чьи строки представляют собой результаты циклического сдвига (вращений) исходной последовательности S, отсортированных лексикографически. По крайней мере, одна из строк M содержит исходную последовательность S. Пусть I является индексом строки S. В приведенном примере индекс I = 1, а матрица M имеет вид: Номер строки aabrac 1 abraca 2 acaabr 3 bracaa 4 caabra 5 racaab 4. Пусть строка L представляет собой последнюю колонку матрицы M с символами L[0],…,L[N-1] (соответствуют M[0,N-1],…,M[N-1,N-1]). Формируем строку последних символов вращений. Окончательный результат характеризуется (L,I). В данном примере L='caraab', I =1. Процедура декомпрессии использует L и I. Целью этой процедуры является получение исходной последовательности из N символов (S). 1. Сначала вычисляем первую колонку матрицы M (F). Это делается путем сортировки символов строки L. Каждая колонка исходной матрицы M представляет собой перестановки исходной последовательности S. Таким образом, первая колонка F и L являются перестановками S. Так как строки в M упорядочены, размещение символов в F также упорядочено. F='aaabcr'. 2. Рассматриваем ряды матрицы M, которые начинаются с заданного символа ch. Строки матрицы М упорядочены лексикографически, поэтому строки, начинающиеся с ch упорядочены аналогичным образом. Определим матрицу M', которая получается из строк матрицы M путем циклического сдвига на один символ вправо. Для каждого i=0,…, N-1 и каждого j=0,…,N-1, M'[i,j] = m[i,(j-1) mod N] В рассмотренном примере M и M' имеют вид: Строка M M' aabrac caabra 1 abraca aabraс 2 acaabr racaab 3 bracaa abraca 4 caabra acaabr 5 racaab bracaa Подобно M каждая строка M' является вращением S, и для каждой строки M существует соответствующая строка M'. M' получена из M так, что строки M' упорядочены лексикографически, начиная со второго символа. Таким образом, если мы рассмотрим только те строки M', которые начинаются с заданного символа ch, они должны следовать упорядоченным образом с учетом второго символа. Следовательно, для любого заданного символа ch, строки M, которые начинаются с ch, появляются в том же порядке что и в M', начинающиеся с ch. В нашем примере это видно на примере строк, начинающихся с ‘a'. Строки ‘aabrac', ‘abraca' и ‘acaabr' имеют номера 0, 1 и 2 в M и 1, 3, 4 в M'. Используя F и L, первые колонки M и M' мы вычислим вектор Т, который указывает на соответствие между строками двух матриц, с учетом того, что для каждого j = 0, …, N-1 строки j M' соответствуют строкам T[j] M. Если L[j] является к-ым появлением ch в L, тогда T[j]=1, где F[i] является к-ым появлением ch в F. Заметьте, что Т представляет соответствие один в один между элементами F и элементами L, а F[T[j]] = L[j]. В нашем примере T равно: (4 0 5 1 2 3). 3. Теперь для каждого i = 0,…, N-1 символы L[i] и F[i] являются соответственно последними и первыми символами строки i матрицы M. Так как каждая строка является вращением S, символ L[i] является циклическим предшественником символа F[i] в S. Из Т мы имеем F[T[j]] = L[j]. Подставляя i =T[j], мы получаем символ L[T(j)], который циклически предшествует символу L[j] в S. Индекс I указывает на строку М, где записана строка S. Таким образом, последний символ S равен L[I]. Мы используем вектор T для получения предшественников каждого символа: для каждого i = 0,…,N-1 S[N-1-i] = L[T i [I]], где T 0 [x] =x, а T i+1 [x] = T[T i [x]. Эта процедура позволяет восстановить первоначальную последовательность символов S (‘abraca'). Последовательность Ti[I] для i =0, …, N-1 не обязательно является перестановкой чисел 0, …, N-1. Если исходная последовательность S является формой Zp для некоторой подстановки Z и для некоторого p>1, тогда последовательность Ti[I] для i = 0, …, N-1 будет также формой Z'p для некоторой субпоследовательности Z'. Таким образом, если S = ‘cancan', Z = ‘can' и p=2, последовательность Ti[I] для i = 0, …, N-1 будет [2, 4, 0, 2, 4, 0]. Описанный выше алгоритм упорядочивает вращения исходной последовательности символов S и формирует строку L, состоящую из последних символов вращений. Для того, чтобы понять, почему такое упорядочение приводит к более эффективному сжатию, рассмотрим воздействие на отдельную букву в обычном слове английского текста. Возьмем в качестве примера букву “t” в слове “the” и предположим, что исходная последовательность содержит много таких слов. Когда список вращений упорядочен, все вращения, начинающиеся с “he”, будут взаимно упорядочены. Один отрезок строки L будет содержать непропорционально большое число “t”, перемешанных с другими символами, которые могут предшествовать “he”, такими как пробел, “s”, “T” и “S”. Аналогичные аргументы могут быть использованы для всех символов всех слов, таким образом, любая область строки L будет содержать большое число некоторых символов. В результате вероятность того, что символ “ch” встретится в данной точке L, весьма велика, если “ch” встречается вблизи этой точки L, и мала в противоположном случае. Это свойство способствует эффективной работе локально адаптивных алгоритмов сжатия, где кодируется относительное положение идентичных символов. В случае применения к строке L, такой кодировщик будет выдавать малые числа, которые могут способствовать эффективной работе последующего кодирования, например, посредством алгоритма Хафмана. 10.13 Транспортное кодирование Поскольку системы шифрования данных часто используются для кодирования текстовой информации: переписки, счетов, платежей электронной коммерции, и при этом криптосистема должна быть абсолютно прозрачной для пользователя, то над выходным потоком криптосистемы часто производится транспортное кодирование, то есть дополнительное кодирование (не шифрование!) информации исключительно для обеспечения совместимости с протоколами передачи данных. Все дело в том, что на выходе криптосистемы байт может принимать все 256 возможных значений, независимо от того был ли входной поток текстовой информацией или нет. А при передаче почтовых сообщений многие системы ориентированы на то, что допустимые значения байтов текста лежат в более узком диапазоне: все цифры, знаки препинания, алфавит латиницы плюс, возможно, национального языка. Первые 32 символа набора ASCII служат для специальных целей. Для того, чтобы они и некоторые другие служебные символы никогда не появились в выходном потоке используется транспортное кодирование. Наиболее простой метод состоит в записи каждого байта двумя шестнадцатиричными цифрами-символами. Так байт 252 будет записан двумя символами 'FC'; байт с кодом 26, попадающий на специальный символ CTRL-Z, будет записан двумя допустимыми символами '1A'. Но эта схема очень избыточна: в одном байте передается только 4 бита информации. Значение A B C D E F G H I J K L M N O P Q P R S Код 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Значение T U V W Y Z a b c d e f g h i j k l m n Код 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Значение o p q p r s t u v w y z 1 2 3 4 5 6 7 Код 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 Значение 8 9 + / = Код 60 61 62 63 заполнитель На самом деле практически в любой системе коммуникации без проблем можно передавать около 68 символов (латинский алфавит строчный и прописной, цифры и знаки препинания). Из этого следует, что вполне реально создать систему с передачей 6 бит в одном байте (26<68), то есть кодировать 3 байта произвольного содержания 4-мя байтами из исключительно разрешенных (так называемых печатных) символов. Подобная система была разработана и стандартизирована на уровне протоколов сети Интернет – это система Base64 (стандарт RFC1251). Процесс кодирования преобразует 4 входных символа в виде 24-битной группы, обрабатывая их слева направо. Эти группы затем рассматриваются как 4 соединенные 6-битные группы, каждая из которых транслируется в одиночную цифру алфавита base64. При кодировании base64 входной поток байтов должен быть упорядочен старшими битами вперед. Каждая 6-битная группа используется как индекс для массива 64-х печатных символов. Символ, на который указывает значение индекса, помещается в выходную строку. Эти символы выбраны так, чтобы быть универсально представимыми и исключают символы, имеющие специальное значение (".", CR, LF). Выходной поток (закодированные байты) должен иметь длину строк не более 76 символов. Все признаки перевода строки и другие символы, отсутствующие в таблице 1, должны быть проигнорированы декодером base64. Среди данных в Base64 символы, не перечисленные в табл. 1, переводы строки и т.п. должны говорить об ошибке передачи данных, и, соответственно, программа-декодер должна оповестить пользователя о ней. Если в хвосте потока кодируемых данных осталось меньше, чем 24 бита, справа добавляются нулевые биты до образования целого числа 6-битных групп. А до конца 24-битной группы может оставаться только от 0 до 3-х недостающих 6-битных групп, вместо каждой из которых ставится символ-заполнитель "=". Поскольку весь входной поток представляет собой целое число 8-битных групп (т.е., просто байтных значений), то возможны лишь следующие случаи: 1. Входной поток оканчивается ровно 24-битной группой (длина файла кратна 3). В таком случае выходной поток будет оканчиваться четырьмя символами Base64 без каких либо дополнительных символов. 2. "Хвост" входного потока имеет длину 8 бит. Тогда в конце выходного кода будут два символа Base64, с добавлением двух символов "=". 3. "Хвост" входного потока имеет длину 16 бит. Тогда в конце выходного будут стоять три символа Base64 и один символ "=". Так как символ "=" является хвостовым заполнителем, его появление в теле письма может означать только то, что конец данных достигнут. Но опираться на поиск символа "=" для обнаружения конца файла неверно, так как, если число переданных битов кратно 24, то в выходном файле не появится ни одного символа "=". ====================================================================================== ВОПРОСЫ: 1. Модель криптосистемы с открытым ключом 2. Применение асимметричных криптосистем 3. Криптосисте­ма эль-Гамаля 4. Рюкзачная криптосистема 5. Криптоанализ алгоритмов с открытым ключом 6. Механизм распространения открытых ключей 7. Обмен ключами по алгоритму Диффи-Хеллмана 8. Электронная подпись по алгоритму Диффи-Хеллмана 9. Криптосистема, основанная на свойствах эллиптических кривых 10. Общие принципы архивации. Классификация методов 11. Алгоритмы архивации Хаффмана и Лемпеля-Зива 12. Совмещенные алгоритмы 13. Транспортное кодирование 11. Стеганография 11.1 Основы стеганографии Надежная защита информации от несанкционированного доступа является актуальной, но не решенной в полном объеме проблемой. Одно из перспективных направлений защиты информации сформировали современные методы стеганографии. Слово стеганография в переводе с греческого буквально означает тайнопись (steganos — тайна, секрет; graphy — запись). Стеганография представляет собой совокупность методов, основывающихся на различных принципах, которые обеспечивают сокрытие самого факта существования секретной информации в той или иной среде, а также средств реализации этих методов. К ней можно отнести огромное множество секретных средств связи, таких как невидимые чернила, микрофотоснимки, условное расположение знаков, тайные (скрытые) каналы, средства связи с плавающими частотами, голография и т.д. В настоящее время развиваются методы компьютерной стеганографии — самостоятельного научного направления информационной безопасности, изучающей проблемы создания компонентов скрываемой информации в открытой информационной среде, которая может быть сформирована вычислительными системами и сетями. Особенностью стеганографического подхода является то, что он не предусматривает прямого оглашения факта существования защищаемой информации. Это обстоятельство позволяет в рамках традиционно существующих информационных потоков или информационной среды решать некоторые важные задачи защиты информации ряда прикладных областей. Основным определяющим моментом в стеганографии является стеганографическое преобразование. До недавнего времени стеганография, как наука, в основном изучала отдельные методы сокрытия информации и способы их технической реализации. Разнообразие принципов, заложенных в стеганографических методах, по существу тормозило развитие стеганографии как отдельной научной дисциплины и не позволило ей сформироваться в виде некоторой науки со своими теоретическими положениями и единой концептуальной системой, которая обеспечила бы формальное получение качественных и количественных оценок стеганометодов. В этом история развития стеганографии резко отличается от развития криптографии. До конца XIX века стеганография и криптография развивались в рамках единой науки о тайнописи. После формулирования голландским офицером Керкхоффом знаменитого правила о том, что стойкость криптографического алгоритма должна определяется исключительно стойкостью ключа, криптография как отдельная наука отделилась от стеганографии. За последние десятилетия криптология из совокупности специальных методов превратилась в наукоемкую дисциплину, основанную на фундаментальных исследованиях из теории вероятности, математической статистики, чисел, алгебраических полей, что позволило ей решить ряд важных для практического применения задач. Например, определение стойкости зашифрованных сообщений по отношению к возможным средствам криптоанализа, а также целый ряд других задач, решение которых позволяет получать достаточно четкие количественные характеристики средств криптографической защиты информации. В основе многих подходов к решению задач стеганографии лежит общая с криптографией методическая база, заложенная Шен­ноном в теории тайнописи. Однако до сих пор теоретические основы стеганографии остаются практически неразработанными. Наблюдаемый в настоящее время интерес к стеганографии, как совокупности методов сокрытия информации, возник в большой мере благодаря интенсивному внедрению и широкому распространению средств вычислительной техники во все сферы деятельности человека. В рамках вычислительных сетей возникли достаточно широкие возможности по оперативному обмену различной информацией в виде текстов, программ, звука, изображений между любыми участниками сетевых сеансов независимо от их территориального размещения. Это позволяет активно применять все преимущества, которые дают стеганографические методы защиты. Стеганографические методы находят все большее применение в оборонной и коммерческой сферах деятельности в силу их легкой адаптируемости при решении задач защиты информации, а также отсутствия явно выраженных признаков средств защиты, использование которых может быть ограничено или запрещено (как, например, криптографических средств защиты). 11.2 Стеганографические технологии Сегодня стеганографические технологии активно используются для решения следующих основных задач: • защиты информации с ограниченным доступом от несанкционированного доступа; • защиты авторских прав на некоторые виды интеллектуальной собственности; • преодоления систем мониторинга и управления сетевыми ресурсами; • камуфляжа программного обеспечения; • создания скрытых каналов утечки чувствительной информации от законного пользователя. Использование стеганографических систем является наиболее эффективной при решении проблемы защиты информации с ограниченным доступом. Так, например, только одна секунда оцифрованного звука с частотой дискретизации 44100 Гц и уровнем отсчета 8 бит в стереорежиме позволяет скрыть за счет замены младших разрядов на скрываемое сообщение около 10 Кбайт информации. При этом изменение значений отсчетов составляет менее 1%. Такое изменение практически не обнаруживается при прослушивании файла большинством людей. Кроме скрытой передачи сообщений, стеганография является одним из самых перспективных направлений для аутентификации и маркировки авторской продукции с целью защиты авторских прав на цифровые объекты от пиратского копирования. На компьютерные графические изображения, аудио продукцию, литературные произведения (программы в том числе) наносится специальная метка, которая остается невидимой для глаз, но распознается специальным программным обеспечением. Метка содержит скрытую информацию, подтверждающую авторство. Скрытая информация призвана обеспечить защиту интеллектуальной собственности. В качестве внедряемой информации можно использовать данные об авторе, дату и место создания произведения, номера документов, подтверждающих авторство, дату приоритета и т.п. Такие специальные сведения могут рассматриваться в качестве доказательств при рассмотрении споров об авторстве или для доказательства нелегального копирования. Как и любые другие инструменты, стеганографические методы требуют к себе бережного отношения, так как они могут быть использованы как с целью защиты, так и в противоправных целях. Например, в конце 2001 года под пристальным вниманием прессы оказались сведения о том, что один из опаснейших террористов мира Усама бен Ладен и члены его группировки широко используют Internet для передачи сообщений по организации террористических акций. Правительства некоторых стран предпринимают шаги с целью обуздания такой угрозы, пытаясь ввести ограничения на распространение программ, связанных с криптографическими и стеганографическими методами. Однако стеганографические методы успешно применяются для противодействия системам мониторинга и управления сетевыми ресурсами промышленного шпионажа. С их помощью можно противостоять попыткам контроля над информационным пространством при прохождении информации через серверы управления локальных или глобальных вычислительных сетей. Нередко методы стеганографии используют для камуфлирования программного обеспечения. В тех случаях, когда использование программ незарегистрированными пользователями является нежелательным, оно может быть закамуфлировано под стандартные универсальные программные продукты (например, текстовые редакторы) или скрыто в файлах мультимедиа (например, в звуковом сопровождении компьютерных игр). И, наконец, стеганографический подход используется при создании скрытого канала утечки чувствительной информации от санкционированных пользователей. 11.3 Классификация стеганографических методов В современной стеганографии, в целом, можно выделить в направления: технологическую стеганографию и информационную стеганографию (рис. 1.). Рис. 1. Классификация методов стеганографической защиты К методам технологической стеганографии относятся методы, которые основаны на использовании химических или физических свойств различных материальных носителей информации. Химические методы стеганографии сводится почти исключительно к применению невидимых чернил, к которым относятся органические жидкости и симпатические химикалии. К физическим методам можно отнести микроточки, различного вида тайники и методы камуфляжа. В настоящее время физические методы представляют интерес в области исследования различный носителей информации с целью записи на них данных, которые бы не выявлялись обычными методами считывания. Особый интерес имеется к стандартным носителям информации средств вычислительной, аудио и видео техники. Помимо этого, появился целый ряд новых технологий, которые, базируясь на традиционной стеганографии, используют последние достижения микроэлектроники (голограммы, кинеграммы). К информационной стеганографии можно отнести методы лингвистической и компьютерной стеганографии. Лингвистические методы стеганографии подразделяются на две основные категории: условное письмо и семаграммы. Существуют три вида условного письма: жаргонный код, пустышечный шифр и геометрическая система. В жаргонном коде внешне безобидное слово имеет совершенно другое реальное значение, а текст составляется так, чтобы выглядеть как можно более невинно и правдоподобно. При применении пустышечного шифра в тексте имеют значение лишь некоторые определенные буквы или слова. Пустышечные шифры обычно выглядят еще более искусственно, чем жаргонный код. Третьим видом условного письма является геометрическая форма. При ее применении имеющие значение слова располагаются на странице в определенных местах или в точках пересечения геометрической фигуры заданного размера. Вторую категорию лингвистических методов составляют семаграммы — тайные сообщения, в которых шифрообозначениями являются любые символы, кроме букв и цифр. Эти сообщения могут быть переданы, например, в рисунке, содержащем точки и тире для чтения по коду Морзе. Стеганографические методы в их проекции на инструментарий и среду, которая реализуется на основе компьютерной техники и программного обеспечения в рамках отдельных вычислительных или управляющих систем, корпоративных или глобальных вычислительных сетей, составляют предмет изучения сравнительно нового научного направления информационной безопасности — компьютерной стеганографии. В рамках компьютерной стеганографии рассматриваются вопросы, связанные с сокрытием информации, которая хранится на носителях или передается по сетям телекоммуникаций, с организацией скрытых каналов в компьютерных системах и сетях, а также с технологиями цифровых водяных знаков и отпечатка пальца. Существуют определенные отличия между технологиями цифровых водяных знаков и отпечатка пальца, с одной стороны, и собственно стеганографическими технологиями сокрытия секретной информации для ее последующей передачи или хранения. Самое главное отличие — это то, что цифровые водяные знаки и отпечатки имеют целью защиту самого цифрового объекта (программы, изображения, музыкального файла и пр.), куда они внедряются, и обеспечивают доказательство прав собственности на данный объект. При использовании методов компьютерной стеганографии должны учитываться следующие условия: • противник может иметь полное представление о стеганографической системе и деталях ее реализации. Единственной информацией, которая должна оставаться ему неизвестной, — это ключ, с помощью которого можно установить факт присутствия скрытого сообщения и его содержание; • если противнику каким-то образом удалось узнать о факте существования скрытого сообщения, то это не должно позволить ему извлечь подобные сообщения из других стеганограмм до тех пор, пока ключ хранится в тайне; • потенциальный противник должен быть лишен каких-либо технических и иных преимуществ в распознавании или раскрытии содержания тайных сообщений. В последующих разделах будут обсуждены основные теоретические положения компьютерной стеганографии и рассмотрены некоторые методы сокрытия данных в информационной среде, которая может быть поддержана вычислительными системами и сетями. 11.4 Классификация стегосистем По аналогии с криптографическими системами, в стеганографии различают системы с секретным ключом и системы с открытым ключом. В стеганографической системе с секретным ключом используется один ключ, который должен быть заранее известен абонентам до начала скрытого обмена секретными сообщениями либо переслан по защищенному каналу. В стегосистеме с открытым ключом для встраивания и извлечения тайного сообщения используются разные ключи, причем вывести один ключ из другого с помощью вычислений невозможно. Один из ключей (открытый) может передаваться свободно по незащищенному каналу связи, а второй, секретный ключ, при необходимости — по защищенному каналу. Данная схема хорошо работает при взаимном недоверии отправителя и получателя. Учитывая все многообразие стеганографических систем, сведем их к следующим типам: бесключевым стегосистемам, системам с секретным ключом, системам с открытым ключом и смешанным стегосистемам. Бесключевые стегосистемы Для функционирования бесключевых стегосистем не требуется никаких дополнительных данных в виде стегоключа помимо алгоритма стеганографического преобразования. Безопасность бесключевых стегосистем основана на секретности используемых стеганографических преобразований E и D. Это противоречит основному принципу Керкхоффа для систем защиты информации. Действительно, если предположить, что противник знает алгоритмы E и D, которые используются для скрытой передачи информации, то он способен извлечь любую скрытую информацию из перехваченных стеганограмм. Зачастую для повышения безопасности бесключевых систем, перед началом процесса стеганографического сокрытия предварительно выполняется шифрование скрываемой информации. Ясно, что такой подход увеличивает защищенность всего процесса связи, поскольку это усложняет обнаружение скрытого сообщения. Однако, “сильные” стеганографические системы, как пра­вило, не нуждаются в предварительном шифровании скрываемых сообщений. Стегосистемы с секретным ключом Следуя закону Керкхоффа, безопасность системы должна основываться на некоторой секретной информации, без знания которой нельзя извлечь из контейнера секретную информацию. В стегосистемах такая информация называется стегоключом. Отправитель, встраивая секретное сообщение в выбранный контейнер с, использует секретный стегоключ k. Если используемый в стеганографическом преобразовании ключ k известен получателю, то он сможет извлечь скрытое сообщение из контейнера. Без знания такого ключа любой другой пользователь этого сделать не сможет. Данный тип стегосистем предполагает наличие безопасного канала для обмена стегоключами. Иногда стегоключ k вычисляют с помощью секретной хеш-функции Hash, используя некоторые характерные особенности контейнера: k = Hash (особен­ности контейнера). Если стеганографическое преобразование Е не изменяет в результирующей стеганограмме выбранные особенности контейнера, то получатель также сможет вычислить стегоключ (хотя и в этом случае защита зависит от секретности функции Hash, и таким образом, снова нарушается принцип Керкхоффа). Очевидно, что для достижения адекватного уровня защиты, такую особенность в контейнере необходимо выбирать очень аккуратно. В некоторых алгоритмах при извлечении скрытой информации дополнительно требуются сведения об исходном контейнере или некоторых других данных, которые отсутствует в стеганограмме. Такие системы представляют ограниченный интерес, поскольку они требуют передачи первоначального вида контейнера, что эквивалентно традиционной задаче ключевого обмена. Подобные алгоритмы могут быть отмечены как частный случай стегосистем с секретным ключом, в которых k = c или k = c*k', где k' — означает дополнительный набор секретных ключей. Стегосистемы с открытым ключом Стеганографические системы с открытым ключом не нуждаются в дополнительном канале ключевого обмена. Для их функционирования необходимо иметь два стегоключа: один секретный, который пользователь должен хранить в тайне, а второй — открытый, который хранится в доступном для всех месте. При этом открытый ключ используется в процессе сокрытия информации, а секретный — для ее извлечения. Простым способом реализации подобных стегосистем является использование криптосистем с открытым ключом. Стегосистемы с открытыми ключами используют тот факт, что функция извлечения скрытой информации D может быть применима к любому контейнеру вне зависимости от того, находится ли в нем скрытое сообщение или нет. Если в контейнере отсутствует скрытое сообщение, то всегда будет восстанавливаться некоторая случайная последовательность. Если эта последовательность статистически не отличается от шифртекста криптосистемы с открытым ключом, тогда в безопасной стегосистеме можно скрывать полученный таким образом шифртекст, а не открытый. Смешанные стегосистемы В большинстве приложений более предпочтительными являются безключевые стегосистемы, хотя такие системы могут быть сразу скомпрометированы в случае, если противник узнает применяемое стеганографическое преобразование. В связи с этим в безключевых стегосистемах часто используют особенности криптографических систем с открытым и (или) секретным ключом. Рассмотрим один такой пример. Для обмена секретными ключами стегосистемы введем понятие протокола, реализованного на основе криптосистемы с открытыми ключами. Сначала Алиса генерирует случайную пару открытого и секретного ключа, а затем передает открытый ключ Бобу по скрытому каналу, созданному безключевой системой. Ни Боб, ни Вили, ведущий наблюдение за каналом, не могут определить, какая информация передавалась в скрытом канале: ключ или же случайные биты. Однако Боб может заподозрить, что стеганограмма от Алисы может содержать ее открытый ключ и постарается его выделить. После этого он шифрует с помощью выделенного ключа секретный стегоключ k, проводит сокрытие результата шифрования в контейнер и его передачу Алисе. Вили может попытаться извлечь секретную информацию из стеганограммы, но получит только случайный шифртекст. Алиса извлекает из стеганограммы скрытую криптограмму и расшифровывает ее своим секретным ключом. Таким образом, стороны обменялись секретным стегоключом k для совместного использования. Отметим, что рассмотреная стегосистема не лишена недостатков и приведена лишь в качестве примера смешанной системы. 11.5 Классификация методов сокрытия информации Большинство методов компьютерной стеганографии базируется на двух принципах. Первый состоит в том, что файлы, которые не требуют абсолютной точности (например, файлы с изображением, звуковой информацией и пр.), могут быть до определенной степени видоизменены без потери функциональности. Второй принцип основан на отсутствии специального инструментария или неспособности органов чувств человека надежно различать незначительные изменения в таких исходных файлах. В основе базовых подходов к реализации методов компьютерной стеганографии в рамках той или иной информационной среды лежит выделение малозначимых фрагментов среды и замена существующей в них информации на информацию, которую предполагается защитить. Поскольку в компьютерной стеганографии рассматриваются среды, поддерживаемые средствами вычислительной техники и соответствующими сетями, то вся информационная среда, в конечном итоге, может представляться в цифровом виде. Таким образом, незначимые для кадра информационной среды фрагменты в соответствии с тем или иным алгоритмом или методикой заменяются (смешиваются) на фрагменты скрываемой информации. Под кадром информационной среды в данном случае подразумевается некоторая ее часть, выделенная по определенным признакам. Такими признаками часто бывают семантические характеристики выделяемой части информационной среды. Например, в качестве кадра может быть выбран некоторый отдельный рисунок, звуковой файл, Web-страница и др. Для методов компьютерной стеганографии можно ввести определенную классификацию (рис. 2). По способу отбора контейнера, как уже указывалось, различают методы суррогатной стеганографии, селективной стеганографии и конструирующей стеганографии. В методах суррогатной (безальтернативной) стеганографии отсутствует возможность выбора контейнера и для сокрытия сообщения выбирается первый попавшийся контейнер, зачастую не совсем подходящий к встраиваемому сообщению. В этом случае, биты контейнера заменяются битами скрываемого сообщения таким образом, чтобы это изменение не было заметным. Основным недостатком метода является то, он позволяет скрывать лишь незначительное количество данных. Рис. 2. Классификация методов сокрытия информации В методах селективной стеганографии предполагается, что спрятанное сообщение должно воспроизводить специальные статистические характеристики шума контейнера. Для этого генерируют большое число альтернативных контейнеров, чтобы затем выбрать наиболее подходящий из них для конкретного сообщения. Частным случаем такого подхода является вычисление некоторой хеш-функция для каждого контейнера. При этом для сокрытия сообщения выбирается тот контейнер, хеш-функции которого совпадает со значением хеш-функции сообщения (т.е. стеганограммой является выбранный контейнер). В методах конструирующей стеганографии контейнер генерируется самой стегосистемой. Здесь может быть несколько вариантов реализации. Так, например, шум контейнера может моделироваться скрываемым сообщением. Это реализуется с помощью процедур, которые не только кодируют скрываемое сообщение под шум, но и сохраняют модель первоначального шума. В предельном случае по модели шума может строиться целое сообщение. Примерами могут служить метод, который реализован в программе MandelSteg, где в качестве контейнера для встраивания сообщения генерируется фрактал Мандельброта, или же аппарат функций имитации (mumic function). По способу доступа к скрываемой информации различают методы для потоковых (непрерывных) контейнеров и методы для контейнеров с произвольным доступом (ограниченной длины). Методы, использующие потоковые контейнеры, работают с потоками непрерывных данных (например, интернет-телефония). В этом случае скрываемые биты необходимо в режиме реального времени включать в информационный поток. О потоковом контейнере нельзя предварительно сказать, когда он начнется, когда закончится и насколько продолжительным он будет. Более того, объективно нет возможности узнать заранее, какими будут последующие шумовые биты. Существует целый ряд трудностей, которые необходимо преодолеть корреспондентам при использовании потоковых контейнеров. Наибольшую проблему при этом составляет синхронизация начала скрытого сообщения. Методы, которые используются для контейнеров с произвольным доступом, предназначены для работы с файлами фиксированной длины (текстовая информация, программы, графические или звуковые файлы). В этом случае заранее известны размеры файла и его содержимое. Скрываемые биты могут быть равномерно выбраны с помощью подходящей псевдослучайной функции. Недостаток таких контейнеров состоит в том, они обладают намного меньшими размерами, чем потоковые, а также то, что расстояния между скрываемыми битами равномерно распределены между наиболее коротким и наиболее длинным заданными расстояниями, в то время как истинный шум будет иметь экспоненциальное распределение длин интервала. Преимущество подобных контейнеров состоит в том, то они могут быть заранее оценены с точки зрения эффективности выбранного стеганографического преобразования. По типу организации контейнеры, подобно помехозащищенным кодам, могут быть систематическими и несистематическими. В систематически организованных контейнерах можно указать конкретные места стеганограммы, где находятся информационные биты самого контейнера, а где — шумовые биты, предназначенные для скрываемой информации (как, например, в широко распространенном методе наименьшего значащего бита). При несистематической организации контейнера такого разделения сделать нельзя. В этом случае для выделения скрытой информации необходимо обрабатывать содержимое всей стеганограммы. По используемым принципам стеганометоды можно разбить на два класса: цифровые методы и структурные методы. Если цифровые методы стеганографии, используя избыточность информационной среды, в основном, манипулируют с цифровым представлением элементов среды, куда внедряются скрываемые данные (например, в пиксели, в различные коэффициенты косинус-косинусных преобразований, преобразований Фурье, Уолша-Ра­де­ма­хе­ра или Лапласа), то структурные методы стеганографии для сокрытия данных используют семантически значимые структурные элементы информационной среды. Основным направлением компьютерной стеганографии является использование свойств избыточности информационной среды. Следует учесть, что при сокрытии информации происходит искажение некоторых статистических свойств среды или нарушение ее структуры, которые необходимо учитывать для уменьшения демаскирующих признаков. В особую группу можно также выделить методы, которые используют специальные свойства форматов представления файлов: • зарезервированные для расширения поля компьютерных форматов файлов, которые обычно заполняются нулями и не учитываются программой; • специальное форматирование данных (смещение слов, предложений, абзацев или выбор определенных позиций букв); • использование незадействованных мест на магнитных носителях; • удаление идентифицирующих заголовков для файла. В основном, для таких методов характерны низкая степень скрытности, низкая пропускная способность и слабая производительность. По предназначению различают стеганографические методы собственно для скрытой передачи или скрытого хранения данных и методы для сокрытия данных в цифровых объектах с целью защиты самих цифровых объектов. По типу информационной среды выделяются стеганографические методы для текстовой среды, для аудиосреды, а также для изображений (стоп-кадров) и видеосреды. Ниже более подробно описаны известные стеганографические методы для разных типов информационной среды. 11.6 Текстовые стеганографы Современные стеганографические средства обычно работают в информационных средах, имеющих большую избыточность. В отличие от информации, которая содержит много шумовых данных (например, звук и изображение), письменный текст содержит малое количество избыточной информации, которую можно использовать для сокрытия данных. Методы лингвистической стеганографии — сокрытия секретных сообщений в тексте — известны еще со средневековья. В основном такие методы используют либо естественную избыточность языка, либо форматы представления текста. С развитием компьютерных технологий средневековые методы лингвистической стеганографии возродились на качественно новом уровне и позволяют в некоторых случаях скрыть факт тайной переписки не только от “автоматического цензора”, который осуществляет мониторинг сетей телекоммуникаций, но и от человека. Можно выделить следующие методы, которые встречаются в современных лингвистических стеганографах: • методы искажения формата текстового документа; • синтаксические методы; • семантические методы; • методы генерации стеганограмм с помощью скрываемого сообщения. Методы искажения формата текстового документа Сокрытие данных путем изменения формата текстовых файлов обычно проводится так, чтобы стандартные текстовые редакторы не смогли выявить признаков присутствия дополнительной информации. Рассмотренные ниже методы манипулируют интервалами между словами и предложениями или же пробелами в конце текстовых строк. Использование пробелов для сокрытия данных обусловлено следующими причинами. Во-первых, введение дополнительных пробелов не вносит больших изменений в значение фразы или предложения. Во-вторых, у случайного читателя вряд ли сразу возникнет подозрение относительно вставленных дополнительных пробелов. Сокрытие тайного сообщения (в битовом представлении) можно проводить путем добавления одного или двух символов пробела в конце предложений после символа конца (например, точки — для натурального языка или точки с запятой — для кода программы на языке C): один дополнительный пробел кодирует значение бита “0”, а два — “1”. Этот простой метод имеет недостатки. Во-первых, он не эффективен, т.к. необходим контейнер большого объема (скорость передачи скрытых данных в данном случае приблизительно равна одному биту на 160 байт текста). Во-вторых, возможность сокрытия зависит от структуры текста (некоторые тексты, например белые стихи, не имеют четких признаков конца). В-третьих, текстовые редакторы часто автоматически добавляют символы пробела после точки. Кодировать секретные данные можно дополнительными пробелами в конце каждой строчки текста (рис. 3): два бита кодируются одним пробелом, четыре — двумя, восемь — тремя и т.д. Преимущество такого метода кодирования состоит в том, что оно может быть выполнено с любым текстом; изменения в формате резко не бросаются в глаза читателю, обеспечивается передача большего количества скрытых данных по сравнению с предыдущим методом (1 бит на 80 байт). Недостаток метода состоит в том, что некоторые программы (например, sendmail) могут неосторожно удалять дополнительные пробелы. Помимо этого, скрытые таким образом данные не всегда могут быть восстановлены с печатной копии документа. М ы р е д к о д о к о н ц а п о - н и м а е м , ч т о м ы д е й с т - в и т е л ь н о х о т и м . М ы р е д к о д о к о н ц а п о - н и м а е м , ч т о м ы д е й с т - в и т е л ь н о х о т и м . Рис. 3. Пример сокрытия данных пробелами в конце текстовых строк Еще один метод сокрытия данных с помощью пробелов манипулирует с текстами, которые выровнены с обеих сторон. В этом методе данные кодируются путем управляемого выбора мест для размещения дополнительных символов пробела. Один символ между словами интерпретируется как 0, а два — как 1. Метод позволяет встраивать несколько бит скрытой информации в каждую строку текста (рис. 4). Рис. 4. Пример сокрытия битового сообщения 0110100011010110 Поскольку текст часто выравнивается по ширине листа, не каждый промежуток между словами может использоваться для кодирования скрытых данных. Для того чтобы определить, в каком из промежутков между словами спрятана информация, а какие промежутки являются частью оригинального текста, используется следующий метод декодирования. Битовая строка, которая извлекается из стеганограммы, разбивается на пары. Пара бит 01 интерпретируется как 1; пара 10 — как 0; а биты 00 и 11 являются пустыми, т.е. такими, которые не несут никакой информации. Например, битовое сообщение 1000101101 сокращается до 001, а строка 110011 — будет пустой. Рассмотренные методы работают успешно до тех пор, пока тексты представлены в коде ASCII. Существуют также стеганографические методы, которые интерпретируют текст как двоичное изображение. В данных методах скрываемая информация кодируется изменением расстояния между последовательными строками текста или словами. Сокрытие данных происходит путем выбора местоположения строк в документе, которые сдвигаются вверх или вниз в соответствии с битами скрываемых данных. При этом некоторые строки оставляют для синхронизации на месте (например, каждую вторую). В этом случае один секретный бит сообщения кодируется сдвигом одной строки. Если строка сдвинута, то значение секретного бита равно 1, иначе — 0. Извлечение скрытого сообщения проводится путем анализа расстояний между центрами строк, которые расположены рядом. Обозначим через R+ — расстояние между центрами сдвинутой строки и предыдущей неизмененной строки (синхрострока), R– — расстояние между центрами сдвинутой линии и последующей синхростроки, а через Х+ и Х– — соответствующие расстояния в исходном документе. Тогда, если расстояние между строками было увеличено, то > Аналогично, если расстояние было уменьшено, то < Отметим, что данный метод нечувствителен к изменению масштаба документа, что обеспечивает ему хорошую устойчивость к большинству искажений, которые могут иметь место при активных атаках. Другая возможная схема сокрытия путем сдвига слов отформатированного текста показана на рис. 5. В соответствии с этой схемой изменяется горизонтальная позиция начала слов. Теоретически, можно использовать изменение каждого промежутка между словами. Для того чтобы обеспечить сохранение первоначального выравнивания текста, необходимо соблюдать единственное ограничение: сумма всех сдвигов в одной строке должна равняться нулю. Рис. 5. Пример сокрытия данных в промежутках между словами (для наглядности указаны вертикальные линии) Существуют более тонкие методы сокрытия информации в текстовой среде. В некоторых текстовых редакторах реализованы опции, которые проводят автоматическое форматирование текста в соответствии с определенными критериями. Например, редактор ТЕХ использует сложный алгоритм вычисления конца строки или страницы. Фактически вычисляются некоторые специальные параметры, по которым определяется место перехода с одной строки или страницы на другую. Один из таких параметров оценивает количество пробелов, которые необходимо вставить, чтобы сохранить заданный стиль документа; другой — оценивает эстетический вид документа при выборе переноса и т.д. В результате ТЕХ пытается выбрать последовательность мест переносов таким образом, что сумма всех параметров, которые относятся к редактируемому параграфу, была минимальной. Изменяя некоторые значения параметров, можно управлять выбором мест переносов и использовать их для сокрытия данных. До сих пор вопрос о создании безопасной лингвистической стегосистемы остается открытым. Любая обработка текста редактором, его печать или перевод в другой формат (HTML, PostScript, PDF или RTF) может изменить расположение пробелов и уничтожить скрытый текст. Низкая устойчивость подобных методов к возможным модификациям документа является одной из причин поиска других методов поиска данных в тексте. Синтаксические и семантические методы в корне отличаются от рассмотренных выше, но могут использоваться одновременно с ними. Синтаксические методы К синтаксическим методам лингвистической стеганографии относятся методы изменения пунктуации и методы изменения стиля и структуры текста. В любом языке существуют случаи, когда правила пунктуации являются неоднозначными и имеют слабое влияние на содержание текста. Например, обе формы перечисления “хлеб, масло и молоко” и “хлеб, масло, молоко” являются допустимыми. Можно использовать тот факт, что выбор таких форм является произвольным и использовать альтернативный выбор для кодирования данных в двоичном виде. Например, если появляется форма перечисления с союзом “и”, то кодируется 1, иначе — 0. Для сокрытия можно также применять сокращения и аббревиатуры. В любом языке имеется много возможностей для синтаксического сокрытия данных, но они не часто встречаются в типовых текстах. Средняя скорость передачи данных такими методами равна нескольким битам на килобайт текста. Хотя многие из правил пунктуации являются неоднозначными и избыточными, их противоречивое использование может стать объектов внимания для цензора. Кроме того, существуют случаи, когда изменение пунктуации может сильно изменить содержание текста. Поэтому такой подход должен использоваться с осторожностью. К синтаксическим методам относятся методы изменения стиля или структуры текста без существенного изменения его значения или тона. Например, предложение “До окончания ночи я буду готовым” можно представить в виде “Я буду готов быстрее, чем ночь закончится”. Такой подход более прозрачен, но возможность его ограничена. Семантические методы Семантические методы стеганографии аналогичны синтаксическим методам. Для этих методов элементарными лингвистическими компонентами считаются отдельные слова, поэтому сокрытие данных реализуется путем непосредственной замены слов. Для такой замены необходимы таблицы синонимов. Кодирование секретного сообщения проводится выбором синонима из необходимого места таблицы. Например, первому слову-синониму соответствует 1, а второму — 0 (табл. 1). Если слову соответствует большое количество синонимов, то можно кодировать большее количество бит одновременно. На рис. 6 приведен пример другого подхода к сокрытию данных, в котором секретное сообщение управляет перефразированием текста контейнера. В результате получается стеганограмма, которая имеет тот же самый смысл, что и текст контейнера. Рис. 6. Пример работы семантической стегосистемы SubiText The auto drives fast on a slippery road over the hill – Автомобиль едет быстро по скользкой дороге на холме. Meeting: 9 o'clock at my home – Встреча в 9 часов в моем доме. Over the slope the car travels quickly on an ice-covered street – По наклону автомобиль едет быстро на покрытой льдом улице. Методы генерации стеганограмм В отличие от рассмотренных выше стеганометодов, где скрываемая информация внедряется в текстовый контейнер, существуют методы, которые полностью порождают стеганограмму на основе защищаемых данных. В таких методах секретная информация не внедряется в текст, а представляется полностью всей стеганограммой. Теоретическую основу для методов генерации стеганограмм разработал П. Вайнер в теории функций имитации. В стеганографии функции имитации применяются для того, чтобы скрыть идентичность сообщения путем изменения его статистических свойств. Можно предложить несколько типов функции имитации, которые, в зависимости от сложности, моделируются регулярной, контекстно-свободной или рекурсивно-счетной грамматиками. Стеганографические преобразования первого типа описываются в терминах процедур сжатия информации; второго — контекстно-свободными грамматиками (КСГ), в которых скрываемые биты управляют непротиворечивыми продукциями (правилами вывода); для описания функций третьего типа применяется аппарат машин Тьюринга. Регулярные функции имитации можно смоделировать с помощью схемы кодирования по Хаффману. Известно, что любой язык обладает некоторыми статистическими свойствами. Этот факт используется многими методами сжатия данных. Таким образом, секретный файл можно сжать по схеме Хаффмана с распределением A, в результате чего получится файл двоичных строк, которые могут интерпретироваться как результат операции сжатия некоторого файла с распределением B. Этот файл может быть восстановлен с применением инверсной функции сжатия fB к файлу двоичных строк и использоваться в дальнейшем как стеганограмма. Если функции fA и fB являются взаимно однозначными, то и созданная функция имитации будет также взаимно однозначна. Доказано, что построенная таким образом функция подобия оптимальна в том смысле, что если функция сжатия Хаффмана fA является теоретически оптимальной и файл x состоит из случайных бит, то взаимно однозначная функция fA(X) имеет наилучшую статистическую эквивалентность к А. Регулярные функции имитации создают стеганограммы, которые имеют заданное статистическое распределение символов, однако при этом игнорируется семантика полученного текста. Для человека такие тексты выглядят полной бессмыслицей с грамматическими ошибками и опечатками. Для генерирования более осмысленных текстов используются контекстно-свободные грамматики. Контекстно-свободная грамматика определяется упорядоченной четверкой «V, V, П, SV\», где V и  — соответственно множества переменных и терминальных символов, П — набор продукций, а S — начальный символ. Продукции подобны правилам подстановки, они преобразуют переменную в строку, состоящую из терминальных или переменных символов. Если с помощью правил вывода из стартового символа можно получить последовательность терминальных символов, то говорят, что последовательность получена грамматикой. Такие грамматики называются контекстно-свободными, т.к. любой символ можно заменить последовательностью символов, не обращая внимания на контекст, в котором он встретился. Если для каждой строки s существует только один путь, по которому s может быть порождена из начального символа, то такая грамматика называется однозначной. Однозначные грамматики могут использоваться в качестве аппарата для стеганографических преобразований. Практический опыт показал, что использование современных методов лингвистической стеганографии позволяет создавать стеганограммы, которые трудно обнаружить при автоматизированном мониторинге сетей телекоммуникации, но обмануть с их помощью человека-цензора все же очень сложно. В связи с этим наибольшее развитие получили стеганографические методы защиты для других информационных сред. 11.7 Сокрытие данных в изображении и видео Развитие мультимедийных средств сопровождается большим потоком графической информации в вычислительных сетях. При генерации изображения, как правило, используются значительное количество элементарных графических примитивов, что представляет особый интерес для стеганографических методов защиты. Визуальная среда (цифровые изображения и видео) обладают большой избыточностью различной природы: • кодовой избыточностью, возникающей при неоптимальном описании изображения; • межпиксельной избыточностью, которая обусловлена наличием сильной корреляционной зависимостью между пикселями реального изображения; • психовизуальной зависимостью, возникающей из-за того, что орган зрения человека не адаптирован для точного восприятия изображения пиксель за пикселем и воспринимает каждый участок с различной чувствительностью. Информационным видеопотокам, которые состоят из последовательности отдельных кадров изображения, помимо указанных выше, присуща также избыточность, обусловленная информационной, технической, временной и функциональной (смысловой) зависимостью между кадрами. В последнее время создано достаточное количество методов сокрытия информации в цифровых изображениях и видео, что позволило провести их систематизацию и выделить следующие группы: • методы замены во временной (пространственной) области; • методы сокрытия в частотной области изображения; • широкополосные методы; • статистические методы; • методы искажения; • структурные методы. Рассмотрим некоторые особенности, которые характерны для каждой из выделенных групп стеганометодов. Методы замены Общий принцип данных методов заключается в замене избыточной, малозначимой части изображения битами секретного сообщения. Для извлечения сообщения необходимо знать место, где была размещена скрываемая информация. Наиболее распространенным методом этого класса является метод замены наименьшего значащего бита (НЗБ). Популярность метода НЗБ обусловлена его простотой и тем, что он позволяет скрывать в относительно небольших файлах довольно большие объемы информации. Данный метод обычно работает с растровыми изображениями, которые представлены в формате без сжатия (например, GIF и BMP). Основным его недостатком является сильная чувствительность к малейшим искажениям контейнера. Для ослабления этой чувствительности часто применяют помехоустойчивое кодирование. Суть метода НЗБ заключается в замене наименее значащих битов пикселей изображения битами секретного сообщения. В простейшем случае проводится замена НЗБ всех последовательно расположенных пикселей изображения. Однако, так как длина секретного сообщения обычно меньше количества пикселей изображения, то после его внедрения в контейнере будут присутствовать две области с различными статистическими свойствами (область, в которой незначащие биты были изменены, и область, в которой они не менялись). Это может быть легко обнаружено с помощью статистических тестов. Для создания эквивалентного изменения вероятности всего контейнера секретное сообщение обычно дополняют случайными битами так, чтобы его длина в битах была равна количеству пикселей в исходном изображении. Другой подход, метод случайного интервала, заключается в случайном распределении битов секретного сообщения по контейнеру, в результате чего расстояние между двумя встроенными битами определяется псевдослучайно. Эта методика наиболее эффективна при использовании потоковых контейнеров (видео). Для контейнеров произвольного доступа (изображений) может использоваться метод псевдослучайной перестановки. Его суть заключается в том, что генератор псевдослучайных чисел производит последовательность индексов j1, ..., jl(m) и сохраняет k-й бит сообщения в пикселе с индексом jk. Однако в этом случае один индекс может появиться в последовательности более одного раза, т.е. может произойти “пересечение” — искажение уже встроенного бита. Если число битов сообщения намного меньше размера изображения, то вероятность пересечения незначительна, и поврежденные биты могут быть восстановлены с помощью корректирующих кодов. Вероятность, по крайней мере, одного пересечения оценивается как p  1 – exp, при условии, что l(m) l(c). При увеличении l(m) и l(c) = const данная вероятность стремится к единице. Для предотвращения пересечений необходимо сохранять все индексы использованных элементов ji и перед сокрытием нового пикселя проводить проверку его на повторяемость. Еще один подход в реализации метода замены (метод блочного сокрытия) состоит в следующем. Исходное изображение-контейнер разбивается на l(m) непересекающихся блоков Ii произвольной конфигурации и для каждого из них вычисляется бит четности p(Ii): p(I) = В каждом блоке проводится сокрытие одного секретного бита mi. Если бит четности p(Ii) блока Ii не совпадает с секретным битом mi, то происходит инвертирование одного из НЗБ блока Ii, в результате чего p(Ii) = mi. Выбор блока может производиться случайно с использованием стегоключа. Хотя этот метод обладает такой же устойчивостью к искажениям, как и все предыдущие, он имеет ряд преимуществ. Прежде всего, имеется возможность изменять значения такого пикселя в блоке, для которого статистика контейнера изменится минимально. Кроме того, влияние последствий встраивания секретных данных в контейнер можно уменьшить за счет увеличения размера блока. Методы замены палитры. Для сокрытия данных можно также воспользоваться палитрой цветов, которая присутствует в формате изображения. Палитра из N цветов определяется как список пар индексов (i, ci), который определяет соответствие между индексом i и его вектором цветности ci. В изображении каждому пикселю присваивается индекс в палитре. Так как цвета в палитре не всегда упорядочены, то скрываемую информацию можно кодировать последовательностью хранения цветов в палитре. Существует N! различных способов перестановки N-цветной палитры, что вполне достаточно для сокрытия небольшого сообщения. Однако методы сокрытия, в основе которых лежит порядок формирования палитры, также неустойчивы: любая атака, связанная с изменениями палитры, уничтожает секретное сообщение. Зачастую соседние цвета в палитре не обязательно являются схожими, поэтому некоторые стеганометоды перед сокрытием данных проводят упорядочивание палитры так, что смежные цвета становятся подобными. Например, значения цвета может быть упорядочено по расстоянию d в RGB-пространстве, где d = . Так как орган зрения человека более чувствителен к изменениям яркости цвета, то намного лучше сортировать содержимое палитры по значениям яркости сигнала. После сортировки палитры можно изменять НЗБ индексов цвета без особого искажения изображения. Некоторые стеганометоды предусматривают уменьшение общего количества значений цветов (до N/2) путем “размывания” изображения. При этом элементы палитры дублируются так, чтобы значения цветов для них различались незначительно. В итоге каждое значение цвета размытого изображения соответствует двум элементам палитры, которые выбираются в соответствии с битом секретного сообщения. К методам замены можно также отнести метод квантования изображений. Данный метод основан на межпиксельной зависимости, которую можно описать некоторой функцией Q. В простейшем случае, можно рассчитать разность ei между смежными пикселями xi и xi-1 и задать ее в качестве параметра для функции Q: Δi = Q(xi – xi – 1), где Δi — дискретная аппроксимация разности сигналов xi – xi – 1. Так как Δi является целым числом, а реальная разность xi – xi – 1 — вещественным, то появляется ошибка квантования i = Δi – ei. Для сильно коррелированных сигналов эта ошибка близка к нулю: i  0. В данном методе сокрытие информации проводится путем корректирования разностного сигнала Δi. Стегоключ представляет собой таблицу, которая каждому возможному значению Δi ставит в соответствие определенный бит, например: Δi –4 –3 –2 –1 1 2 3 4 1 1 1 1 1 Для сокрытия i-го бита сообщения вычисляется Δi. Если Δi не соответствует секретному биту, который необходимо скрыть, то его значение Δi заменяется ближайшим Δj, для которого это условие выполняется. Извлечение секретного сообщения проводится в соответствии с разностью между Δi и стегоключом. Методы сокрытия в частотной области изображения Как уже отмечалось, стеганографические методы замены неустойчивы к любым искажениям, а применение операции сжатия с потерями приводит к полному уничтожению всей секретной информации, скрытой методом НЗБ в изображении. Более устойчивыми к различным искажениям, в том числе сжатию, являются методы, которые используют для сокрытия данных не временную область, а частотную. Существуют несколько способов представления изображения в частотной области. Например, с использованием дискретного косинусного преобразования (ДКП), быстрого преобразования Фурье или Вейвлет-преобразования. Данные преобразования могут применяться как ко всему изображению, так и к некоторым его частям. При цифровой обработке изображения часто используется двумерная версия дискретного косинусного преобразования: S(u, v) = C(u) C(v) cos cos, S(x, y) = cos cos, где C(u)=1/, если u=0 и C(u)=1 в противном случае. Один из наиболее популярных методов сокрытия секретной информации в частотной области изображения основан на относительном изменении величин коэффициентов ДКП. Для этого изображение разбивается на блоки размером 8*8 пикселей. Каждый блок предназначен для сокрытия одного бита секретного сообщения. Процесс сокрытия начинается со случайного выбора блока bi, предназначенного для кодирования i-го бита сообщения. Для выбранного блока изображения bi проводится ДКП: Bi = D{bi}. При организации секретного канала абоненты должны предварительно договориться о конкретных двух коэффициентах ДКП, которые будут использоваться для сокрытия секретных данных. Обозначим их как (u1, v1) и (u2, v2). Эти два коэффициента должны соответствовать косинус-функциям со средними частотами, что обеспечит сохранность информации в существенных областях сигнала, которая не будет уничтожаться при JPEG-сжатии. Так как коэффициенты ДКП-средних являются подобными, то процесс сокрытия не внесет заметных изменений в изображение. Если для блока выполняется условие Bi(u1,v1) > Bi(u2,v2), то считается, что блок кодирует значение 1, в противном случае — 0. На этапе встраивания информации выбранные коэффициенты меняют между собой значения, если их относительный размер не соответствует кодируемому биту. На шаге квантования JPEG-сжатие может воздействовать на относительные размеры коэффициентов, поэтому, прибавляя случайные значения к обеим величинам, алгоритм гарантирует что |Bi(u1,v1) – Bi(u2,v2)| > x, где x > 0. Чем больше x, тем алгоритм будет более устойчивым к сжатию, но при этом качество изображения ухудшается. После соответствующей корректировки коэффициентов выполняется обратное ДКП. Извлечение скрытой информации проводится путем сравнения выбранных двух коэффициентов для каждого блока. Широкополосные методы Широкополосные методы передачи применяются в технике связи для обеспечения высокой помехоустойчивости и затруднения процесса перехвата. Суть широкополосных методов состоит в значительном расширении полосы частот сигнала, более чем это необходимо для передачи реальной информации. Расширение диапазона выполняется в основном посредством кода, который не зависит от передаваемых данных. Полезная информация распределяется по всему диапазону, поэтому при потере сигнала в некоторых полосах частот в других полосах присутствует достаточно информации для ее восстановления. Таким образом, применение широкополосных методов в стеганографии затрудняет обнаружение скрытых данных и их удаление. Цель широкополосных методов подобна задачам, которые решает стегосистема: попытаться “растворить” секретное сообщение в контейнере и сделать невозможным его обнаружение. Поскольку сигналы, распределенные по всей полосе спектра, трудно удалить, стеганографические методы, построенные на основе широкополосных методов, являются устойчивыми к случайным и преднамеренным искажениям. Для сокрытия информации применяют два основных способа расширения спектра: • с помощью псевдослучайной последовательности, когда секретный сигнал, отличающийся на константу, модулируется псевдослучайным сигналом; • с помощью прыгающих частот, когда частота несущего сигнала изменяется по некоторому псевдослучайному закону. Основное преимущество широкополосных стеганометодов — это сравнительно высокая устойчивость к искажениям изображения и разного вида атакам, так как скрываемая информация распределена в широкой полосе частот, и ее трудно удалить без полного разрушения контейнера. Статистические методы Статистические методы скрывают информацию путем изменения некоторых статистических свойств изображения. Они основаны на проверке статистических гипотез. Суть метода заключается в таком изменении некоторых статистических характеристик контейнера, при котором получатель сможет отличить модифицированное изображение от не модифицированного. Данные методы относятся к “однобитовым” схемам, т.е. ориентированы на сокрытие одного бита секретной информации. l(m)-разрядная статистическая стегосистема образуется из множества одноразрядных путем разбиения изображения на l(m) непересекающихся блоков B1, ..., Bl(m). При этом секретный бит сообщения mi встраивается в i-й блок контейнера. Обнаружение спрятанного бита в блоке производится с помощью проверочной функции, которая отличает модифицированный блок от немодифицированного: f(Bi) = Основная задача при разработке статистического метода — это создание соответствующей функции f. Построение функции f делается на основе теории проверки статистических гипотез (например: основной гипотезы “блок Bi не изменен“ и альтернативной — “блок Bi изменен”). При извлечении скрытой информации необходимо последовательно применять функцию f ко всем блокам контейнера Bi. Предположим, что известна статистика распределения элементов немодифицированного блока изображения h(Bi). Тогда, используя стандартные процедуры, можно проверить, превышает ли статистика h(Bi) анализируемого блока некоторое пороговое значение. Если не превышает, то предполагается, что в блоке хранится бит 0, в противном случае — 1. Зачастую статистические методы стеганографии сложно применять на практике. Во-первых, необходимо иметь хорошую статистику h(Bi), на основе которой принимается решение о том, является ли анализируемый блок изображения измененным или нет. Во-вторых, распределение h(Bi) для “нормального” контейнера должно быть заранее известно, что в большинстве случаев является довольно сложной задачей. Методы искажения Методы искажения, в отличие от предыдущих методов, требуют знания о первоначальном виде контейнера. Схема сокрытия заключается в последовательном проведении ряда модификаций контейнера, которые выбираются в соответствии с секретным сообщением. Для извлечения скрытых данных необходимо определить все различия между стеганограммой и исходным контейнером. По этим различиям восстанавливается последовательность модификаций, которые выполнялись при сокрытии секретной информации. В большинстве приложений такие системы бесполезны, поскольку для извлечения данных необходимо иметь доступ к набору первоначальных контейнеров: если противник также будет иметь доступ к этому набору, то он сможет легко обнаружить модификации контейнера и получить доказательства скрытой переписки. Таким образом, основным требованием при использовании таких методов является необходимость распространения набора исходных контейнеров между абонентами сети через секретный канал доставки. Методы искажения легко применимы к цифровым изображениям. Как и в методах замены, для сокрытия данных выбирается l(m) различных пикселей контейнера, которые используются для сокрытия информации. Такой выбор можно произвести, используя датчик случайных чисел (или перестановок). При сокрытии бита 0 значение пикселя не изменяется, а при сокрытии 1 к цвету пикселя прибавляется случайное значение х. Хотя этот подход подобен методу замены, имеется одно существенное различие: значение выбранного цвета не обязательно равняется секретному биту сообщения, а в методах искажения при сокрытии нулевого бита не происходит никаких изменений. Помимо этого, значение х может быть выбрано так, что будут сохраняться статистические свойства контейнера. Для извлечения скрытых данных необходимо провести сравнение всех l(m) выбранных пикселей стеганограммы с соответствующими пикселями исходного контейнера. Если i-й пиксель будет отличаться, то это свидетельствует о том, что в скрытом сообщении был единичный бит, иначе — нулевой. Существует еще один подход к реализации метода искажения изображения при сокрытии данных. В соответствии с данным методом при вставке скрываемых данных делается попытка скорее изменить порядок появления избыточной информации в контейнере, чем изменить его содержимое. При сокрытии данных составляется определенный “список пар” пикселей, для которых отличие будет меньше порогового. Этот список играет роль стегоключа — без него нельзя восстановить секретное сообщение. Если абонент имеет доступ к “списку пар”, он всегда сможет провести обратную процедуру. Структурные методы Рассмотренные выше методы в основном использовали информационную избыточность на уровне пикселей или же проводили преобразования в частотной области изображения. Ниже рассматривается метод, в котором сокрытие информации проводится на содержательном уровне с использованием структурных и информационных параметров изображения. По существу, он является развитием известной стеганографической технологии — семаграмм. Суть метода заключается в проведении последовательных преобразований фрагментов графического изображения, которые в конечном итоге приводят к формированию скрываемого текста. В настоящее время появилось множество графических пакетов программ и баз данных, с помощью которых можно создавать различные графические изображения, презентации, мультипликацию и пр. В каждом графическом изображении можно выделить отдельные компоненты, которые в соответствии с его областью интерпретации имеют свою информационную нагрузку. Визуальный образ S можно представить в виде цифровой последовательности, которая затем легко преобразуется в текстовое сообщение. Это возможно, например, в процессе покрытия образа некоторым графом, используя информационную интерпретацию его отдельных компонентов. В первом приближении вершинами такого графа могут служить отдельные компоненты рисунка, а ребрами — их соединения. При кодировании скрываемой информации полученный граф можно преобразовывать достаточно широким спектром известных в теории графов преобразованиями. В конечном итоге такой граф может быть размечен в соответствии с определенным алгоритмом и представлен в виде его числового инварианта. Простейшим инвариантом является матрица смежности графа (последовательность нумерации вершин). Можно использовать несколько инвариантов, которые описываются в виде многочлена. Секретный ключ при таком подходе — это способ нумерации графа. Известно, что возможное количество перенумерованных графов для произвольного графа достаточно большое. Это обстоятельство делает предложенный способ сокрытия сообщений достаточно устойчивым против атак вскрытия. В структурных методах можно выделить отдельные этапы стеганографического преобразования. Первым этапом является преобразование защищаемого секретного сообщения m в цифровую форму CH. Это преобразование может быть, например, любым криптографическим преобразованием. Оно представляет собой шифрование текста со всеми соответствующими атрибутами, включая ключи шифрования. Второй этап представляет собой преобразование последовательности чисел CH в графическую структуру GS. В качестве графических структур чаще всего используются графы. Кроме графов, можно использовать различные пиктограммы или другие структуры, которые поддаются формальному описанию тем или иным способом. На третьем этапе осуществляется преобразование графической структуры GS в визуальную информационную среду WS. В общем случае в качестве такой среды может использоваться, например, любая мультимедийная или программная среда. Четвертый этап представляет собой совокупность методов и соответствующих процедур, с помощью которых формируется сюжет из визуальных образов с внедренными в них тайными сообщениями. В рамках данного подхода визуальный образ состоит из графических элементов, которые идентифицируются с элементами GS. Данные элементы представляют собой помеченные вершины, помеченные или непомеченные ребра и другие элементы, идентифицирующие компоненты из CH. Необходимым этапом функционирования такой стегосистемы является формирование некоторого сюжета для фрагмента информационной среды из отдельных графических образов. Таким образом, вся цепочка преобразований, которая реализуется стегосистемой на уровне отдельных этапов преобразования, может быть записана в виде: S  CH  GS  WS  SJ, где SJ — описание сюжета, которое составляется из отдельных графических образов. Следует отметить, что рассмотренный подход применим как для преобразования изображения с целью размещения в нем скрываемого сообщения, так и для генерирования визуального изображения по секретному сообщению. 11.8 Сокрытие информации в звуковой среде Особое развитие нашли методы цифровой стеганографии в аудиосреде. С их помощью обеспечивается пересылка больших объемов скрытых данных в звуковых сообщениях, которые транслируются по телевизионной, радио или телефонной сети. Современные средства телекоммуникации позволяют передавать звуковые сигналы не только в реальном времени, но и в цифровом формате через любую сеть передачи данных. Известно, что слуховой аппарат человека функционирует в широком динамическом диапазоне; он очень чувствителен к случайным аддитивным помехам, способен различать относительную фазу, совсем нечувствителен к абсолютной фазе. Эти особенности слухового аппарата позволяют удачно использовать стеганографические методы в аудиосреде. Стеганографические методы защиты данных в звуковой среде Метод наименьших значащих битов применяется при цифровом представлении аудиосигнала и пригоден для использования при любых скоростях связи. При преобразовании звукового сигнала в цифровую форму всегда присутствует шум дискретизации, который не вносит существенных искажений. “Шумовым” битам соответствуют младшие биты цифрового представления сигнала, которые можно заменить скрываемыми данными. Например, если звуковой сигнал представлен в 16-битовом виде, то изменение четырех младших битов не приведет к заметным на слух искажениям. В качестве стегоключа обычно используется указатель местоположения битов, в которых содержатся скрываемые данные. Методы широкополосного кодирования используют те же принципы, что методы сокрытия данных в изображениях. Их суть заключается в незначительной одновременной модификации целого ряда определенных битов контейнера при сокрытии одного бита информации. Существует несколько разновидностей метода. В наиболее распространенном варианте исходный сигнал модулируется высокоскоростной псевдослучайной последовательностью w(t), которая определена на области значений {-1, 1}. Вследствие этого для передачи результата необходима большая (иногда более чем в 100 раз) полоса пропускания. Обычно последовательности w(t) выбирают ортогональными к сигналу контейнера. Результирующий стегосигнал s(t) представляет собой суммарный сигнал контейнера c(t) и скрываемых данных d(t): s(t) = v(t) + d(t)w(t), где коэффициент затухания  предназначен для выбора оптимального уровня шума, который вносится вставляемыми данными. Для извлечения скрытых данных d(t) на принимающей стороне необходимо иметь туже самую псевдослучайную импульсную последовательностью w(t), обеспечив при этом ее синхронизацию со стегосигналом: s(t)w(t) = v(t)w(t) + d(t). В связи с этим данную псевдослучайную битовую последовательность обычно используют в качестве стегоключа. Метод сокрытия в эхо-сигнале. Скрывать данные можно также путем внедрения эха в звуковой сигнал. Известно, что при небольших временных сдвигах эхо-сигнал практически неразличим на слух. Поэтому, если ввести определенные временные задержки (например, 1 для единичного бита данных и 0 — для нулевого), величина которых не превышает порог обнаруживаемости, то, разбивая исходный звуковой сигнал v(t) на сегменты, в каждый из них можно ввести соответствующий эхо-сигнал, в зависимости от скрываемого бита: c(t) = v(t) + v(t – ). В базовой схеме предусмотрено сокрытие в аудиосигнале одного бита, но сигнал можно разбить случайным образом на l отрезков и в каждый их них вставить по биту. Для выделения эхо-сигнала и восстановления скрытых данных применяется автокорреляционный анализ. В качестве стегоключа здесь обычно используются значения величин 0 и 1 с учетом выбранных границ для отрезков. Фазовые методы сокрытия применяются как для аналогового, так и для цифрового сигнала. Они используют тот факт, что плавное изменение фазы на слух определить нельзя. В таких методах защищаемые данные кодируются либо определенным значением фазы, либо изменением фаз в спектре. Если разбить звуковой сигнал на сегменты, то данные обычно скрывают только в первом сегменте при соблюдении двух условий: • сохранность относительных фаз между последовательными сегментами; • результирующий фазовый спектр стегосигнала должен быть гладким, поскольку резкие скачки фазы являются демаскирующим фактором. Музыкальные стегосистемы Музыкальная форма звуковой среды занимает большую часть информационного пространства Internet. Помимо этого она широко используется в радиосетях общего назначения и распространяется на электронных носителях информации, которые, в связи с развитием компьютерной техники, получили широкое распространение. В связи с этим использование музыкальной среды для сокрытия информационных сообщений представляется достаточно перспективным. Для сокрытия данных помимо методов, описанных выше, можно применять методы, основанные на модификации тех параметров музыкальной среды, которые в теории музыки можно описать качественно. Музыкальная среда имеет свое текстовое отображение в виде нот и других знаков, которые позволяют достаточно адекватно отображать музыкальное произведение и его внутреннюю структуру такими элементами, как ноты, гаммы, периоды, такты, каденции, аккорды, мотивы, модуляции, тональности, различные виды развития, секвенции и пр. Построения музыкальных фрагментов подчиняются синтаксическим правилам, которые можно описать, что позволяет строить логические взаимоотношения и, соответственно, описание структур музыкальных произведений. Музыкальные стегосистемы обеспечивают сокрытие информации в музыкальной среде по аналогии с импровизацией музыкальных произведений. По существу импровизация представляет собой такое изменение музыкального произведения или его фрагментов, которое сохраняет основные темы первоначального произведения в виде мелодий, но при этом расширяет образ музыкальной темы другими, дополняющими основной образ чертами, которых не было в основном музыкальном произведении. Основное отличие музыкальной стеганографии от импровизации состоит в том, что целью является не расширение образов базового музыкального произведения, а внесение изменений, которые сохраняют мелодию основного произведения, соответствуют всем правилам построения данного произведения и при этом кодируют скрываемое сообщение, не искажая главной темы произведения. Фрагмент музыкального произведения может быть описан в виде некоторой логической структуры. Аналогом слова текстового предложения в музыкальном произведении будет один такт мелодии, а аналогом предложения в музыке будем считать фрагменты, разделяемые цензурами. Как правило, музыкальное произведение состоит из ряда фраз, которые состоят из тактов. Пусть имеется фрагмент мелодии, который представляет слово текста в виде соотношения β(i,j)+…+β(i+k, j+r)=xi(t), а также фрагмент мелодии, записанный в виде соотношения α(η,ξ)+…+α(η+e, ξ+q)=xη(m). Внедрение текста в музыкальное произведение осуществляется отдельными предложениями, каждое из которых может сопоставляться с отдельной мелодией. На первом этапе работы стегосистемы анализируется количество мелодий (количество ее модификаций) в рамках музыкального произведения в сопоставлении с количеством предложений сообщения. На втором этапе осуществляется анализ допустимости расширения некоторого предложения музыкального произведения предложениями текста сообщения. Этот анализ проводится на основе исследования логических формул текста предложения L(t) и музыкального предложения L(m). На следующем этапе, в случае выбора соответствующей пары L(m) и L(t), осуществляется анализ преемственности фраз мелодий, отдельных слов текста и слов мелодии, что соответствует согласованию пар на уровне описания xi(t) и xη(m). После положительного решения задач перечисленных уровней формируется нотное отображение расширенного музыкального произведения с внедренным в него скрываемым сообщением. На основании нотного отображения расширения осуществляется его музыкальная реализация с помощью современных компьютерных систем, представляющих собой программно-аппаратные синтезаторы звука. Дальнейшая звуковая обработка музыкальных записей, обработанных стегосистемой, не обязательна. Поскольку основная область применения музыкальных стегосистем — это среда Internet, в которой музыкальные записи размещаются в цифровом формате на Web-страницах, то достаточно, чтобы расширенное музыкальное произведение воспринималось посторонними лицами не как шум, а как некоторая музыка, которая обладает мелодией или совокупностью мелодий, допускающих ту или иную тематическую интерпретацию. ====================================================================================== ВОПРОСЫ: 1. Основы стеганографии 2. Стеганографические технологии 3. Классификация стеганографических методов 4. Классификация стегосистем 5. Классификация методов сокрытия информации 6. Текстовые стеганографы 7. Сокрытие данных в изображении и видео 8. Сокрытие информации в звуковой среде 12. Сертификация и стандартизация криптосистем 12.1. Лицензирование и сертификация Как уже было сказано, криптосистема не может считаться надёжной, если не известен полностью алгоритм её работы. Только зная алгоритм, можно проверить, устойчива ли защита. Однако проверить это может лишь специалист, да и то зачастую такая проверка настолько сложна, что бывает экономически нецелесообразна. Как же обычному пользователю, не владеющему математикой, убедиться в надёжности криптосистемы, которой ему предлагают воспользоваться? Для неспециалиста доказательством надёжности может служить мнение компетентных независимых экспертов. Отсюда возникла система сертификации. Ей подлежат все системы защиты информации, чтобы ими могли официально пользоваться предприятия и учреждения. Использовать несертифицированные системы не запрещено, но в таком случае вы принимаете на себя весь риск, что она окажется недостаточно надёжной или будет иметь «чёрные ходы». Но чтобы продавать средства информационной защиты, сертификация необходима. Такие положения действуют в России и в большинстве стран. У нас единственным органом, уполномоченным проводить сертификацию, являлось Главное управление безопасности связи (ГУБС) Федерального агентства правительственной связи и информации при Президенте Российской Федерации (ФАПСИ). Орган этот подходил к вопросам сертификации очень тщательно. Совсем мало разработок сторонних фирм смогли получить сертификат ГУБС ФАПСИ. Иногда можно наблюдать такую картину. Фирма торгует неким программным, программно-аппаратным комплексом или техническим решением, при этом гордо заявляет: «Продукция имеет сертификат ФСБ (до 1-го июля 2003 г.!!..), Минсвязи, Госсвязьнадзора и т.п.» Надо сознавать, что документы эти юридически ничтожны. Существенным фактором, до настоящего времени оказывающим значительное влияние на положение дел в области защиты информации, является то, что до начала 90-х годов нормативное регулирование в данной области оставляло желать лучшего. Система защиты информации в нашей стране в то время определялась существовавшей политической обстановкой и действовала в основном в интересах Специальных служб государства, Министерства обороны и Военно-промышленного комплекса. Цели защиты информации достигались главным образом за счет реализации принципа "максимальной секретности", в соответствии с которым доступ ко многим видам информации был просто ограничен. Никаких законодательных и иных государственных нормативных актов, определяющих защиту информационных прав негосударственных организаций и отдельных граждан, не существовало. Средства криптографической защиты информации использовались только в интересах государственных органов, а их разработка была прерогативой исключительно специальных служб и немногих специализированных государственных предприятий. Указанные предприятия строго отбирались и категорировались по уровню допуска к разработке и производству этих средств. Сами изделия тщательно проверялись компетентными государственными органами и допускались к эксплуатации исключительно на основании специальных заключений этих органов. Любые работы в области криптографической защиты информации проводилась на основании утвержденных Правительством страны специальных секретных нормативных актов, полностью регламентировавших порядок заказа, разработки, производства и эксплуатации шифровальных средств. Сведения об этих средствах, их разработке, производстве, и использовании, как в стране, так и за рубежом были строго засекречены, а их распространение предельно ограничено. Даже простое упоминание о криптографических средствах в открытых публикациях было запрещено. В настоящее время можно отметить, что правовое поле в области защиты информации получило весомое заполнение. Конечно нельзя сказать, что процесс построения цивилизованных правовых отношений успешно завершен и задача правового обеспечения деятельности в этой области уже решена. Важно другое – можно констатировать, что уже имеется неплохая законодательная база, вполне позволяющая, с одной стороны, предприятиям осуществлять свою деятельность по защите информации в соответствии требованиями действующих нормативных актов, а с другой – уполномоченным государственным органам на законной основе регулировать рынок соответствующих товаров и услуг, обеспечивая необходимый баланс интересов отдельных граждан, общества в целом и государства. Федеральная служба безопасности до 1-го июля 2003 г. была уполномочена лишь создавать и эксплуатировать без лицензирования средства криптозащиты. Также право на создание и эксплуатацию криптографических средств было предоставлено Федеральной службе охраны (ст. 30 Федерального закона "О государственной охране"). А вот Службе внешней разведки в праве разрабатывать криптосредства отказано (ст. 6 Федерального закона "О внешней разведке"). Порядок сертификации, установленный Положением о сертификации средств защиты информации, изменился после принятия Указа Президента РФ № 774 от 14 июля 2003 г. Согласно ему, после упразнения ФАПСИ, ГУБС передавалось в состав ФСБ. Ныне это Центр ФСБ по лицензированию, сертификации и защите государственной тайны. Лицензированию в соответствии с его компетенцией (Указ Президента РФ № 334 от 03.04.95 "О мерах по соблюдению законности в области разработки производства, реализации и эксплуатации шифровальных средств, а также предоставления услуг в области шифрования информации") подлежит деятельность по следующим направлениям: • создание средств защиты информации; • осуществление мероприятий и оказание услуг по защите государственной тайны; • деятельность, связанная с шифровальными средствами; • предоставление услуг в области шифрования информации; • выявление технических устройств скрытого съема информации, электронных закладных устройств и программных закладок в технических средствах и помещениях государственных структур; • создание систем и комплексов телекоммуникаций органов государственной власти Российской Федерации; • создание закрытых (защищенных) с использованием шифровальных средств систем и комплексов телекоммуникаций; • создание и реализация средств выявления технических устройств скрытого съема информации, электронных закладных устройств и программных закладок. Защищенные (закрытые) системы и комплексы телекоммуникаций – системы и комплексы телекоммуникаций, в которых обеспечивается защита информации с использованием шифровальных средств, защищенного оборудования и организационных мер. Особо прокомментируем определение шифровального средства. Во-первых, любое средство, в котором реализован криптографический алгоритм, работающий под управлением некоторого тайного элемента, называемого ключом, является шифровальным средством, и, следовательно, термины "шифровальные средства" и "криптографические средства защиты" (средства криптографической защиты) являются синонимами. Во-вторых, средство относится к категории шифровальных независимо от его назначения и способа реализации. Таким образом, реализующие криптографические алгоритмы средства, используемые для закрытия информации в канале связи, имитозащиты сообщения, аутентификации пользователей, средства электронной цифровой подписи, средства закрытия таблицы паролей и т.д. являются шифр-средствами. В-третьих, приведенное определение охватывает не только технические шифр-средства, но и ручные шифры, а также ключевую информацию, предназначенную для шифрования. Переходя теперь к определению таких понятий как "лицензирование" и "сертификация" в области защиты информации, отметим, что зачастую эти термины просто путают (не говоря уже об их ошибочном понимании или трактовке). Путают и объекты, к которым они относятся, и, как следствие, нормы, относящиеся к одному понятию, приписываются другому. Лицензирование – это процесс, осуществляемый в отношении таких категорий, как "деятельность (направления, виды деятельности) и "субъект (физическое лицо, предприятие, организация или иное юридическое лицо), когда некоторый субъект в результате проведения комплекса мероприятий, состав, правила и порядок осуществления которых предписываются законодательными и нормативными актами, получает право на осуществление определенного вида деятельности. Это право закрепляется и оформляется в виде официальных документов, состав, виды и статус которых также предписываются нормативными актами. При этом за органом, уполномоченном на проведение лицензионной деятельности, закрепляется право на осуществление контроля за деятельностью лицензиата. Здесь термины "деятельность", "право", "правило", "мероприятие", "статус" имеют общепризнанный смысл, и их определения можно почерпнуть в любом толковом словаре. Важно подчеркнуть, и это вытекает из описанной нами формулы, что активную роль в процессе лицензирования играют обе стороны: орган, наделяющий (передающий) кого-либо правом деятельности, и субъект, получающий указанное право. Получить право на осуществление деятельности, подлежащей лицензированию, может не каждый (иначе процесс лицензирования вообще теряет смысл), а лишь субъект, отвечающий определенным критериям, которые заранее определяются правилами проведения лицензирования и являющимися их неотъемлемой частью требованиями к предприятию-заявителю. Таким образом, субъектом лицензирования становится лишь то физическое или юридическое лицо, которое представляет все необходимые и правильно оформленные документы и удовлетворяет соответствующим критериям. В данной области мы оперируем следующими основными терминами (здесь и далее приводятся термины, определенные в соответствии с приведенными выше Положениями о лицензировании). Лицензирование в области защиты информации – деятельность, заключающаяся в передаче или получении прав на проведение работ в области защиты информации, и осуществлении контроля за лицензиатом. Лицензия Центра ФСБ по лицензированию, сертификации и защите государственной тайны – надлежащим образом оформленный официальный документ, который дает право на осуществление указанного в нем вида деятельности в области защиты информации в течение установленного срока, а также определяет условия его осуществления. Решение Центра ФСБ по лицензированию, сертификации и защите государственной тайны о выдаче лицензии – надлежащим образом оформленный официальный документ, который дает возможность оформления лицензии на указанный в нем вид деятельности с учетом оговоренных в нем условий. Заявитель в области защиты информации – предприятие, представившее документы, необходимые для получения лицензии или решения о выдаче лицензии. Требования к заявителю – комплекс определенных Правительством Российской Федерации или Центра ФСБ по лицензированию, сертификации и защите государственной тайны условий, норм и критериев, регламентирующих возможности и деятельность лицензиата, уровень производственной, испытательной, технологической, нормативно-методической базы предприятия, научный и инженерно-технический уровень персонала, а также мероприятия по обеспечению сохранности доверяемой конфиденциальной информации, соответствие которым проверяется в ходе специальной экспертизы заявителя. Лицензиат – сторона, получившая право на проведение работ в области защиты информации. Сертификация – это процесс, осуществляемый в отношении такой категории, как "изделие" (товар, средство), когда в результате выполнения комплекса мероприятий, определенных правилами и порядком ее проведения, устанавливается, удостоверяется или подтверждается качество изделия. Таким образом, сертификация есть деятельность некоторой третьей стороны, независимой от изготовителя (продавца) и потребителя продукции или услуг, по подтверждению соответствия этих продукции или услуг установленным требованиям. В рассматриваемой области – это подтверждение соответствия средства защиты информации как определенной конкретной технической реализации некоторого алгоритма заданным стандартам на этот алгоритм или описанию алгоритма, а также удовлетворения этим средством установленным требованиям по безопасности. Особо при этом следует подчеркнуть три момента. Во-первых, процедура сертификации осуществляется в отношении только технических средств или технической части системы защиты, включающей в обязательном порядке и организационно-технические и организационные средства и меры. Во-вторых, сертификации может подвергаться только готовое, законченное изделие. В-третьих, требования по безопасности включают количественные критерии и нормы, и поэтому, в отличие от других процедур, входящих в процесс лицензирования и сертификации, процедуры сертификационных испытаний базируются на формальных методах и развитой метрологической базе. Из изложенного выше видно, что лицензирование и сертификация представляют собой совершенно различные процессы с точки зрения их объектов и используемых методов. Однако с точки зрения технологии их осуществления эти процессы во многом идентичны: и в том и другом случае проверяется соответствие (удовлетворение) определенным требованиям, и в том и другом случае выходные документы оформляются и выдаются на основании заключений экспертных организаций, специально уполномоченных на проведение подобных экспертиз. Более того, в ряде случаев эти процессы тесно переплетаются, поскольку для выдачи лицензии на некоторые виды деятельности или для принятия решения о выдаче лицензии на ввоз или вывоз шифр-средств, требуется проведение технической экспертизы собственно заявляемых к ввозу (вывозу) изделий. Для сертификации необходимым условием является соблюдение стандартов при разработке систем защиты информации. Стандарты выполняют сходную функцию. Они позволяют, не проводя сложных, дорогостоящих и даже не всегда возможных исследований, получить уверенность, что данный алгоритм обеспечивает защиту достаточной степени надёжности. Законодательные и административные меры для регулирования вопросов защиты информации на государственном уровне применяются в большинстве научно-технически развитых стран мира. Компьютерные преступления приобрели в странах с развитой информационно-телекоммуникационной инфраструктурой такое широкое распространение, что для борьбы с ними в уголовное законодательство введены специальные статьи. Первый закон о защите информации был принят в Соединенных Штатах Америки в 1906 году. В настоящее время в США имеется около 500 законодательных актов по защите информации, ответственности за ее разглашение и компьютерные преступления. Проблемы информационной безопасности рассматриваются американской администрацией как один из ключевых элементов национальной безопасности. Национальная политика США в области защиты информации формируется Агентством национальной безопасности (АНБ). При этом наиболее важные стратегические вопросы, определяющие национальную политику в данной сфере, как правило, решаются на уровне Совета национальной безопасности, а решения оформляются в виде директив Президента США. Среди таких директив следует отметить следующие: • директива PD/NSC-24 "Политика в области защиты систем связи" (1977 год, Д. Картер), в которой впервые подчеркивается необходимость защиты важной несекретной информации в обеспечении национальной безопасности; • директива SDD-1 45 "Национальная политика США в области безопасности систем связи автоматизированных информационных систем" (1984 год, Р. Рейган), которая стала юридической основой для возложения на АНБ функции по защите информации и контролю за безопасностью не только в каналах связи, но и в вычислительных и сложных информационно-телекоммуникационных системах. Эта же директива возлагала на АНБ ответственность за сертификацию технологий, систем и оборудования в части защиты информации в информационно-телекоммуникационных системах страны, а также по лицензированию деятельности в области защиты информации. В период с 1967 года по настоящее время в США принят целый ряд федеральных законов, создавших правовую основу для формирования и проведения единой государственной политики в области информатизации и защиты информации с учетом интересов национальной безопасности страны. Это законы "О свободе информации" (1967 год), "О секретности" (1974 год), "О праве на финансовую секретность" (1978 год), "О доступе к информации о деятельности ЦРУ" (1984 год), "О компьютерных злоупотреблениях и мошенничестве" (1986 год), "О безопасности компьютерных систем" (1987 год) и некоторые другие. Правительство США при реализации своей политики в области защиты информации исходит из того, что перехват иностранными государствами конфиденциальной государственной и частной информации, а также больших объемов открытой информации, передаваемых по правительственным и коммерческим сетям телекоммуникаций, после их обработки, сопоставления и объединения разрозненных сведений приведет к раскрытию государственных секретов. Поэтому, начиная с середины 80-х годов, защита линий связи и автоматизированных систем становится важной задачей компетентных государственных органов США. Закон Соединенных Штатов "Об обеспечении безопасности ЭВМ" № HR 145, принятый Конгрессом в мае 1987 года, устанавливает приоритет национальных интересов при решении вопросов безопасности информации (в том числе и частной). Например, данный акт декларирует, что требования государственных органов по обеспечению необходимого уровня защиты информации могут быть распространены на любую "важную информацию". При этом закон устанавливает, что "важной" является такая информация, "потеря которой, неправильное использование, несанкционированное изменение которой или доступ к которой могут привести к нежелательным воздействиям на национальные интересы". Установлена новая категория информации ограниченного доступа – "несекретная, но важная с точки зрения национальной безопасности". К данной категории отнесена практически вся несекретная информация правительственных ведомств, а также большая часть сведений, циркулирующих или обрабатываемых в информационно-телекоммуникационных системах частных фирм и корпораций, работающих по правительственным заказам. Национальная инструкция об обеспечении безопасности связи США № 6002, принятая в июне 1984 года, устанавливает, что потребности в обеспечении безопасности связи государственных подрядчиков определяются компетентными государственными органами. Эти же органы обеспечивают контроль за соблюдением требований по безопасности связи. Инструкция разрешает использовать государственным подрядчикам шифровальную технику, либо изготовленную по заказу Агентства национальной безопасности, либо прошедшую сертификацию в этом агентстве. Фирмы-изготовители средств шифрования не должны находиться в иностранном владении или под иностранным влиянием. Кроме того, эти фирмы должны быть допущены к работе с секретной информацией установленным порядком. Вывоз любых криптографических устройств из Соединенных Штатов возможен только с разрешения АНБ. При этом директива Президента страны "Об управлении шифрованием в обществе" ("Public Encryption Management") однозначно устанавливает, что вывозимые криптографические средства не должны служить препятствием для органов электронной разведки США при добывании ими информации. Во Франции государственному контролю подлежат изготовление, экспорт и использование шифровального оборудования. Экспорт возможен только с разрешения Премьер-министра страны, выдаваемого после консультаций со специальным комитетом по военному оборудованию. Импорт шифровальных средств на территорию Французской республики вообще запрещен. Закон объявляет экспорт и снабжение криптографическими средствами без специального разрешения преступлением, которое наказывается штрафом в размере до 500 000 франков или тюремным заключением на срок от 1 до 3 месяцев. 12.2. Обеспечиваемая шифром степень защиты Хорошие криптографические системы создаются таким образом, чтобы сделать их вскрытие как можно более трудным делом. Можно построить системы, которые на практике невозможно вскрыть (хотя доказать сей факт обычно нельзя). При этом не требуется очень больших усилий для реализации. Единственное, что требуется – это аккуратность и базовые знания. Нет прощения разработчику, если он оставил возможность для вскрытия системы. Все механизмы, которые могут использоваться для взлома системы надо задокументировать и довести до сведения конечных пользователей. Теоретически, любой шифровальный алгоритм с использованием ключа может быть вскрыт методом перебора всех значений ключа. Если ключ подбирается методом грубой силы (brute force), требуемая мощность компьютера растет экспоненциально с увеличением длины ключа. Ключ длиной в 32 бита требует 232 (около 109) шагов. Такая задача под силу любому дилетанту и решается на домашнем компьютере. Системы с 40-битным ключом (например, экспортный американский вариант алгоритма RC4) требуют 240 шагов – такие компьютерные мощности имеются в большинстве университетов и даже в небольших компаниях. Системы с 56-битными ключами (DES) требуют для вскрытия некоторых усилий, однако могут быть легко вскрыты с помощью специальной аппаратуры. Стоимость такой аппаратуры значительна, но вполне доступна для мафии, крупных компаний и правительств. Ключи длиной 64 бита в настоящий момент могут быть вскрыты государством и доступны для вскрытия преступными организацими и крупными компаниями. Ключи длиной 80 бит будут уязвимы в самом ближайшем будущем. Ключи длиной 128 бит пока малодоступны для вскрытия методом грубой силы. Можно использовать и более длинные ключи. В пределе нетрудно добиться того, чтобы энергия, требуемая для вскрытия (считая, что на один шаг затрачивается минимальный квантовомеханический квант энергии) превзойдет массу Солнца или вселенной. Однако, длина ключа это еще не все. Многие шифры можно вскрыть и, не перебирая всех возможных комбинаций. Вообще говоря, очень трудно придумать шифр, который нельзя было бы вскрыть другим более эффективным способом. Разработка собственных шифров может стать приятным занятием, но для реальных приложений использовать самодельные шифры не рекомендуется, если вы не являетесь экспертом и не уверены на 100% в том, что делаете. Вообще говоря, следует держаться в стороне от неопубликованных или секретных алгоритмов. Часто разработчик такого алгоритма не уверен в его надежности, или же надежность зависит от секретности самого алгоритма. Вообще говоря, ни один алгоритм, секретность которого зависит от секретности самого алгоритма, не является надежным. В частности, имея шифрующую программу, можно нанять программиста, который дизассемблирует ее и восстановит алгоритм методом обратной инженерии. Опыт показывает, что большинство секретных алгоритмов, ставших впоследствии достоянием общественности, оказались до смешного ненадежными. Длины ключей, используемых в криптографии с открытым ключом обычно значительно больше, чем в симметричных алгоритмах. Здесь проблема заключается не в подборе ключа, а в воссоздании секретного ключа по открытому. В случае RSA проблема эквивалентна разложению на множители большого целого числа, которое является произведением пары неизвестных простых чисел. В случае некоторых других криптосистем, проблема эквивалентна вычислению дискретного логарифма по модулю большого целого числа (такая задача считается примерно аналогичной по трудности задаче разложения на множители). Имеются криптосистемы, которые используют другие проблемы. Чтобы дать представление о степени сложности вскрытия RSA, скажем, что модули длиной 256 бит легко факторизуются обычными программистами. Ключи в 384 бита могут быть вскрыты относительно небольшой исследовательской группой университета или компании. 512-битные ключи находятся в пределах досягаемости спецслужб государств. Ключи длиной в 768 бит уже не надежны продолжительное время. Ключи длиной в 1792 бит могут считаться безопасными до тех пор, пока не будет существенного прогресса в алгоритме факторизации; ключи длиной в 2304 большинство считает надежными на десятилетия. Более подробную информацию о длинах ключей RSA можно почерпнуть из статей Брюса Шнайера (Bruce Scheier). Важно подчеркнуть, что степень надежности криптографической системы определяется ее слабейшим звеном. Нельзя упускать из вида ни одного аспекта разработки системы – от выбора алгоритма до политики использования и распространения ключей. Длина симметричного ключа ГОСТ 28147-89 Длина асимметричного ключа RSA Устойчивость к взлому 56 384 Легко вскрываемые 64 512 Ненадежные 80 768 Относительно устойчивые 112 1792 Относительно безопасные 128 2304 Безопасные 192 3200 Надежные 256 4096 Невскрываемые 12.3. Криптоанализ и атаки на криптосистемы Многие шифры выглядят весьма надёжными. Но при оценке их устойчивости следует учитывать массу факторов. Например, возможность наличия у противника априорной информации о содержании сообщения. Сама по себе такая информация даёт большое преимущество при «вскрытии» шифра. Рассмотрим простейший пример. Пусть сообщение зашифровано при помощи операции XOR с длиной ключа 16 символов (байтов). Чтобы вскрыть данный шифр перебором, потребовалось бы порядка 6415 раз попробовать операцию расшифровки и проанализировать получившийся текст на осмысленность. Операция эта достаточно сложна, так что на обычном персональном компьютере можно будет перебирать 103...104 вариантов в секунду. То есть, подбор ключа займёт приблизительно 1023 секунд, что превышает любое разумное время. В случае же, когда, к примеру, известно, что сообщение должно начинаться со слов «Алекс – Юстасу», то 12 первых символов ключа устанавливаются практически мгновенно (XOR указанной строки с первыми байтами шифровки), и остаётся подобрать лишь 4 символа ключа, а это всего несколько минут работы. Таким образом, мы видим, что даже небольшая априорная информация о содержании шифровки может снизить криптостойкость на несколько порядков, а то и вовсе до нуля. Криптоанализ – это наука о дешифровке закодированных сообщений не зная ключей. Имеется много криптоаналитических подходов. Некоторые из наиболее важных для разработчиков приведены ниже. 1. Атака со знанием лишь шифрованного текста (ciphertext-only attack). Это ситуация, когда атакующий не знает ничего о содержании сообщения, и ему приходтся работать лишь с самим шифрованным текстом. На практике, часто можно сделать правдоподобные предположения о структуре текста, поскольку многие сообщения имеют стандартные заголовки. Даже обычные письма и документы начинаются с легко предсказумой информации. Также часто можно предположить, что некоторый блок информации содержит заданное слово. 2. Атака со знанием содержимого шифровки (known-plaintext attack). Атакующий знает или может угадать содержимое всего или части зашифрованного текста. Задача заключается в расшифровке остального сообщения. Это можно сделать либо путем вычисления ключа шифровки, либо минуя это. 3. Атака с заданным текстом (chosen-plaintext attack). Атакующий имеет возможнот получить шифрованный документ для любого нужного ему текста, но не знает ключа. Задачей является нахождение ключа. Некоторые методы шифрования и, в частности, RSA, весьма уязвимы для атак этого типа. При использовании таких алгоритмов надо тщательно следить, чтобы атакующий не мог зашифровать заданный им текст. 4. Атака с подставкой (Man-in-the-middle attack). Атака направлена на обмен шифрованными сообщениями и, в особенности, на протокол обмена ключами. Идея заключается в том, что когда две стороны обмениваются ключами для секретной коммуникации (например, используя шифр Диффи-Хелмана), противник внедряется между ними на линии обмена сообщениями. Далее противник выдает каждой стороне свои ключи. В результате, каждая из сторон будет иметь разные ключи, каждый из которых известен противнику. Теперь противник будет расшифровывать каждое сообщение своим ключом и затем зашифровывать его с помощью другого ключа перед отправкой адресату. Стороны будут иметь иллюзию секретной переписки, в то время как на самом деле противник читает все сообщения. Одним из способов предотвратить такой тип атак заключается в том, что стороны при обмене ключами вычисляют криптографическую хэш-функцию значения протокола обмена (или, по меньшей мере, значения ключей), подписывают ее алгоритмом цифровой подписи и посылают подпись другой стороне. Получатель проверит подпись и то, что значение хэш-функции совпадает с вычисленным значением. Такой метод используется, в частности, в системе Фотурис (Photuris). 5. Атака с помощью таймера (timing attack). Этот новый тип атак основан на последовательном измерении времен, затрачиваемых на выполнение операции возведения в стенень по модулю целого числа. Ей подвержены, по крайней мере, следующие шифры: RSA, Диффи-Хеллмана и метод эллиптических кривых. 12.4. Слабые места криптографических систем Мощные, грамотно построенные криптографические системы способны на многое, но нельзя считать их панацеей. Пользователи, уделяющие слишком много внимания алгоритмам шифрования в ущерб другим методам обеспечения безопасности, похожи на людей, которые вместо того, чтобы обнести свои владения высоким забором, перегораживают дорогу массивными воротами, нисколько не задумываясь о том, что злоумышленникам не составит труда сделать шаг в сторону и обойти сей "неприступный бастион". В популярных журналах классификация продуктов шифрования проводится, как правило, по алгоритму и длине ключа. Обзоры печатаются под броскими заголовками. Описание особенностей того или иного продукта и его сравнение с конкурирующими предложениями легко укладывается буквально в несколько слов. Наверняка доводилось встречать утверждения типа: "128-разрядные ключи обеспечивают надежную защиту, в то время как 40-разрядные вскрываются довольно легко", "алгоритм triple-DES гораздо надежнее в сравнении с обычным алгоритмом DES" или даже "шифрование RSA с 2048-разрядным ключом лучше RSA с 1024-разрядным ключом". Однако в криптографии не все так просто: более длинные ключи отнюдь не гарантируют повышенной безопасности. Давайте попробуем сравнить алгоритмы шифрования с замком от входной двери. Во многих дверных замках установлено четыре металлических шипа, каждый из которых может находиться в одном из десяти положений. Если ключ соответствует конфигурации замка, запор открывается. Таким образом, конструкция каждого однотипного замка предусматривает 10 000 различных комбинаций. Следовательно, для того, чтобы проникнуть в дом, взломщик должен перепробовать до 10 000 ключей. Замки усовершенствованной конструкции имеют уже 10 шипов (10 млрд. комбинаций), но это вовсе не значит, что за безопасность своего жилища теперь можно не беспокоиться. Совершенно очевидно, что взломщики не станут последовательно подбирать все возможные ключи (это было бы слишком примитивно): они достаточно умны, для того чтобы проникнуть в дом иным способом (в данном случае напрашивается аналогия с криптографической атакой). Гораздо проще и эффективнее разбить окно, выломать дверь или переодеться в форму полицейского и приставить ствол пистолета к голове ничего не подозревающего хозяина. Один из грабителей в Калифорнии, недолго думая, распилил стену дома бензопилой. Понятно, что от таких действий не спасут даже самые лучшие замки. Другой пример "иного метода" получения пароля позаимствован из практики специалиста для проведения обыска. Когда дошла очередь до осмотра компьютера, специалист вступил в дело. Он включает компьютер и обнаруживает, что имеется пароль в CMOS. "Какой пароль?" – оборачивается он к хозяину помещения. "Не скажу!" – уверенно отвечает тот. Специалист пожимает плечами, открывает корпус машины и откусывает кусачками батарейку. CMOS обнуляется, пароль исчезает. "Вот ваш пароль!" – замечает специалист, кидая под ноги батарейку, и продолжает загрузку. На компьютере обнаруживается Windows NT – система достаточно надёжная с точки зрения защиты данных. "Пароль администратора?" – снова поворачивается специалист к хозяину. "Не скажу." – отвечает тот уже гораздо менее уверенно. "И как вам не жалко своего компьютера?" – вздыхает специалист, достаёт дрель и нацеливается на жёсткий диск. "Что вы делаете!" – восклицает хозяин, и без того удручённый столь бесцеремонным обращением со своей машиной. "Всё просто, – отвечает специалист. – Пароль в Windows NT хранится в строго определённом месте на жёстком диске. Сейчас я просверлю этот сектор, и ваш пароль – тю-тю!", – и включает дрель. "Не надо! – сдаётся хозяин. – Я скажу пароль". Итак, еще раз напомним, что самым слабым звеном в системе защиты информации является человек. Здесь и надо в первую очередь искать брешь в защите. Компания Counterpane Systems, вот уже в течение многих лет занимающаяся созданием, анализом и взломом систем шифрования, предупреждает: «Мы исследуем алгоритмы или протоколы, спецификации которых опубликованы в открытой печати; большая часть работы связана с изучением особенностей конкретных продуктов. Нам довелось проектировать и анализировать средства, защищающие частную тайну, гарантирующие конфиденциальность, отстаивающие справедливость и обеспечивающие функционирование систем электронной торговли. Мы работали с самыми различными программными пакетами, автономными аппаратными средствами и аппаратно-программными решения. Нам прекрасно известны слабые места алгоритмов шифрования, но почти всегда мы находили более элегантные способы обхода систем безопасности». 12.5. Атаки на архитектуру Криптографическая система не может быть надежнее использованных в ней отдельных алгоритмов шифрования. Иными словами, для того чтобы преодолеть систему защиты, достаточно взломать любой из ее компонентов. Использование хороших строительных материалов еще не является гарантией прочности здания. Так и криптографическая система, построенная на основе мощных алгоритмов и протоколов, тоже может оказаться слабой. Многие системы "теряют гарантию" безопасности, если используются неправильно. Скажем, проверка допустимости значений переменных не выполняется, "случайные" параметры используются многократно, что совершенно недопустимо. Алгоритмы шифрования необязательно обеспечивают целостность данных. Протоколы обмена ключами необязательно гарантируют, что обе стороны получат один и тот же ключ. Некоторые системы шифрования, использующие связанные ключи, могут быть взломаны, даже если каждый ключ в отдельности надежен. Чтобы обеспечить безопасность, недостаточно просто реализовать алгоритм и ждать, что все будет работать. Даже наличие квалифицированных инженеров, помощь известных компаний и упорный труд не могут гарантировать абсолютной надежности. Бреши, обнаруженные в алгоритмах шифрования систем сотовой связи стандартов CDMA и GSM, а также в протоколе Microsoft Point-to-Point Tunneling Protocol (PPTP), наглядно это иллюстрируют. К примеру, в достаточно надежном алгоритме RC4, на котором построен протокол PPTP, удалось обнаружить режим, который делал защиту абсолютно прозрачной. Еще одно слабое место криптографических средств – генераторы случайных чисел. Разработать хороший генератор случайных чисел непросто, поскольку он часто зависит от особенностей аппаратного и программного обеспечения. Сама система шифрования может быть выполнена на высоком уровне, но если генератор случайных чисел выдает легко угадываемые ключи, то все оставшиеся барьеры преодолеваются без особого труда. В ряде продуктов используются генераторы случайных чисел, вырабатывающие ключи, в которых прослеживается определенная закономерность. В таких случаях о безопасности говорить не приходится. Интересно, что применение одного и того же генератора в некоторых областях обеспечивает требуемую степень безопасности, а в других – нет. Еще одно возможное слабое место – взаимодействие между по отдельности безопасными протоколами шифрования. Почти для каждого безопасного протокола, как правило, можно найти другой, не менее надежный, который сведет на нет все достоинства первого, если они оба используют одинаковые ключи на одном и том же устройстве. Если различные стандарты защиты применяются в одной среде, недостаточно четкое взаимодействие между ними зачастую может привести к весьма нежелательным последствиям. 12.6. Атаки на конкретные реализации Многие системы подводят из-за ошибок в реализации. Некоторые продукты не гарантируют, что, зашифровав текст, они уничтожат оригинал. В других для предупреждения потери информации в случае системного сбоя используются временные файлы, а доступная оперативная память расширяется за счет памяти виртуальной; в этом случае на жестком диске могут оставаться отдельные фрагменты незашифрованного текста. Переполнение буферов, не стертая до конца секретная информация, недостаточно надежная система обнаружения и восстановления после ошибок – все это примеры брешей в конкретных реализациях, через которые очень часто и проникают злоумышленники. В наиболее вопиющих случаях операционная система даже оставляет ключи на жестком диске. В одном из продуктов крупной софтверной компании ввод пароля осуществлялся через специальное окно. При этом пароль сохранялся в буфере окна и после его закрытия. Проводить дальнейшие исследования защищенности системы уже не имело смысла. Слабые стороны других продуктов не так явно бросались в глаза. Иногда одни и те же данные шифровались при помощи двух ключей: первый из них был надежным, а второй подбирался достаточно легко; но при этом эксперименты с уже подобранным ключом помогали подобрать и другой. В других системах применялись мастер-ключи и ключи "на один сеанс"; причем безопасности главного ключа уделялось недостаточное внимание, а основные надежды возлагались на одноразовые ключи. Для создания по-настоящему надежной системы безопасности необходимо полностью исключить возможность анализа строения ключей, а не ограничиваться лишь самыми очевидными мерами предосторожности. Создатели систем электронной коммерции часто вынуждены идти на компромисс ради расширения функциональности. И поскольку разработчики предпочитают жертвовать безопасностью, в защите то и дело появляются дыры. Сверка учетных записей, к примеру, может проводиться только раз в день, но, за несколько часов взломщик способен нанести поистине колоссальный ущерб! Перегрузка процедуры идентификации может привести к тому, что личность атакующего не будет распознана. Некоторые системы заносят сомнительные ключи в "черные списки"; получение доступа к этим спискам существенно облегчает задачу взломщика. Многие системы защиты преодолеваются после повторных атак и использования старых сообщений или их частей, сбивающих систему с толку. Потенциальная опасность заложена в возможности восстановления ранее использовавшихся ключей в системах с расщеплением. В хороших криптографических системах срок жизни ключей ограничивается максимально коротким промежутком времени. Процедура восстановления позволяет «продлить» жизнь ключа уже после того, как от него отказались. Используемые для восстановления ключей базы данных сами по себе являются источником опасности, и их архитектура должна быть выверена с особой тщательностью. В ряде случаев бреши в них позволяли взломщикам маскироваться под легальных пользователей. 12.7. Атаки на оборудование Некоторые системы (чаще всего коммерческого назначения) имеют так называемое "кольцо безопасности", состоящее из аппаратных средств повышенной устойчивостью к взломам (смарт-карт, электронных бумажников, электронных ключей и т.д.). Создатели подобных систем исходят из предположения, что архитектура системы внутри этого кольца надежно защищена от несанкционированного доступа. Надежность оборудования – очень важная составляющая комплексных систем безопасности, но не стоит полностью доверять решениям, защищающим только от воровства и неумелого обращения. Большинство подобных технологий на практике не работают, а инструменты для их взлома непрерывно совершенствуются. При проектировании подобных систем очень важно не забывать о дополнительных механизмах защиты, которые должны срабатывать, если взломщикам удастся преодолеть первые оборонительные редуты. Нужно постараться максимально осложнить задачу противника и сделать ее решение невыгодным с экономической точки зрения. Стоимость защищаемых данных должна быть значительно ниже затрат на разрушение системы безопасности. Ценность электронного проездного не может идти ни в какое сравнение со стоимостью портфеля ценных бумаг. Исходя из этого и следует проектировать средства защиты. В 1995 году значительно возросло число "атак по расписанию": выяснилось, что секретные ключи RSA можно восстанавливать, измеряя временные интервалы между операциями шифрования. Был зарегистрирован ряд случаев успешного взлома смарт-карт, а также серверов электронной коммерции в Internet. Обнаружилось, что атаки строились на основе измерения потребляемой мощности, анализа электромагнитного излучения и других побочных источников информации. Специалистам по криптографии удалось по этим признакам реконструировать логику многих систем с открытыми ключами, продемонстрировав их ненадежность. Большую популярность приобрел метод анализа сбоев, позволяющий находить слабые места криптопроцессоров и восстанавливать секретные ключи. Подобные методы по своему духу скорее биологические. Криптографические системы в этом случае рассматриваются как сложные объекты, которые реагируют на внешние раздражители. Их нельзя четко описать с помощью математических уравнений, но последствия таких атак разрушительны. 12.8. Атаки на модели доверительных отношений Многие интересные способы преодоления защитных рубежей связаны с моделями доверительных отношений внутри системы. Прежде всего, следует выявить связи между отдельными компонентами системы, уяснить ограничения и механизм реализации схемы доверительных отношений. Простые системы (средства шифрования телефонных переговоров и информации на жестких дисках) используют элементарные доверительные модели. Комплексные системы (средства электронной торговли или средства защиты многопользовательских пакетов электронной почты) построены на основе сложных (и гораздо более надежных) моделей доверительных отношений, описывающих взаимосвязи множества элементов. В программе электронной почты может использоваться супернадежный алгоритм шифрования сообщений, но если ключи не сертифицированы источником, заслуживающим доверия, и сертификация эта не может быть подтверждена в реальном времени, безопасность системы остается под вопросом. Некоторые торговые системы могут быть вскрыты по соглашению продавца с покупателем или в результате объединенных усилий нескольких клиентов. В других системах предусмотрено наличие средств обеспечения безопасности, но качество этих средств никто никогда не проверял. Если модель доверительных отношений не документирована, то в процессе развертывания в продукт можно случайно внести какие-либо недопустимые изменения, после чего стройность системы безопасности будет нарушена. Многие программные пакеты слишком доверяются защищенности аппаратных средств. Предполагается, что компьютер абсолютно безопасен. Рано или поздно в такую программу проникает "троянский конь", который подбирает пароли, считывает незашифрованный текст или каким-то иным образом вмешивается в работу системы защиты. Разработчикам систем, функционирующих в компьютерных сетях, следует побеспокоиться о безопасности сетевых протоколов. Уязвимость компьютеров, подключенных к Internet, многократно возрастает. Система шифрования, которая преодолевается "со стороны сети", никуда не годится. Не существует программ, безопасность которых выстояла после того, как противнику удалось применить обратное проектирование. Очень часто система проектируется в расчете на одну модель доверительных отношений, а в практической реализации фигурирует совсем другая. Принятые в процессе проектирования решения полностью игнорируются после передачи готового продукта пользователям. Система, которая абсолютно безопасна, когда ее операторы заслуживают доверия, а доступ к компьютерам полностью контролируется, теряет все свои преимущества, если обязанности операторов выполняют низкооплачиваемые работники, нанятые на короткий срок, а физический контроль за компьютерами утрачен. Впрочем, хорошие модели доверительных отношений продолжают работать даже в том случае, если отдельные компоненты подводят. 12.9. Атаки на пользователей Даже если система гарантирует надежную защиту при правильной эксплуатации, пользователи могут случайно нарушить ее, особенно если система спроектирована недостаточно хорошо. Классическим примером является сотрудник, предоставляющий свой пароль коллегам с тем, чтобы они имели возможность решать неотложные задачи во время его отсутствия. Атака с учетом "человеческого фактора" зачастую оказывается куда более эффективной, чем месяцы кропотливого анализа алгоритмов. Пользователи могут в течение нескольких дней не сообщать об утере смарт-карты. Они не уделяют требуемого внимания проверке электронной подписи. Секретные пароли порой повторно используются в несекретных системах. Клиенты даже не пытаются ликвидировать слабые места в системе безопасности. Конечно, даже хорошие системы не в состоянии ликвидировать последствия причин социального свойства, но они могут свести их к минимуму. Многие продукты взламываются потому, что их защита построена на основе паролей, генерируемых пользователями. Предоставленные сами себе люди не задумываются о том, как выбрать необычную последовательность символов. Ведь пароль, который невозможно подобрать, не так просто запомнить. Если в качестве секретного ключа применяется такой пароль, то подобрать его, как правило, удается гораздо проще и быстрее, чем используя метод грубой силы. Многие пользовательские интерфейсы еще больше облегчают задачу взломщика, ограничивая длину пароля 8 знаками, преобразуя вводимую последовательность в символы нижнего регистра и т.д. Даже пароли-фразы не обеспечивают требуемой степени безопасности. Злоумышленнику намного легче подобрать фразу из 40 букв, чем перебирать все возможные последовательности 64-разрядных случайных ключей. Иногда защита, в которой применяются очень надежный механизм формирования ключа сеансов, разрушается из-за использования слабых паролей, предназначенных для восстановления ключей. Желание облегчить восстановление системы после сбоя фактически открывает перед атакующими черный ход. 12.10. Атака на средства восстановления после сбоев Разработчики надежных систем не в состоянии заделать в заборе безопасности все мельчайшие щели, но, по крайней мере, зияющие дыры они ликвидируют. Восстановление ключа к одному файлу не позволит взломщику считать всю информацию, находящуюся на жестком диске. Изготовление фальшивых денег – очень серьезное преступление, ведь обладатель технологии печатания денег может уничтожить национальную валюту. Хакер, взламывающий смарт-карту, изучает секреты данного конкретного устройства, а не всех остальных смарт-карт, входящих в систему. В многопользовательских системах знание секретов одного человека не должно открывать доступа к информации других. Многие системы по умолчанию устанавливаются в режим с отключенными средствами безопасности. Если система защиты "заедает", пользователь просто отключает ее и продолжает заниматься своим делом. Такое поведение делает особенно эффективными атаки типа denial-of-service ("отказ в обслуживании"). Если онлайновая система авторизации кредитных карт отключена, продавец вынужден довольствоваться значительно менее надежной бумажной технологией. Иногда у взломщиков появляется возможность воспользоваться обратной совместимостью различных версий программного обеспечения. Как правило, в каждом новом варианте продукта разработчики стараются устранить бреши, имевшиеся в старом. Но требование обратной совместимости позволяет атакующему применять протокол старой, незащищенной версии. Некоторые системы не имеют средств восстановления. Если защита разрушена, вернуть программу в работоспособное состояние не представляется возможным. Выход из строя системы электронной торговли, к которой обращаются миллионы клиентов, грозит обернуться катастрофой. Поэтому подобные системы должны иметь средства организации противодействия атакующим и поддерживать возможность обновления системы безопасности без остановки программы. Хорошо продуманная система сама знает, как лучше противостоять атаке и что следует делать для устранения повреждений и оперативного восстановления работоспособности. 12.11. Атака на средства шифрования Иногда слабые места можно найти и непосредственно в системе шифрования. Некоторые продукты создаются на базе не слишком удачных алгоритмов собственной разработки. Как правило, вскрыть известные алгоритмы шифрования удается лишь в исключительных случаях. Если же разработчик делает ставку на собственные методы, шансы взломщиков повышаются многократно. Незнание секрета алгоритма не является особым препятствием. Квалифицированному специалисту достаточно пары дней, чтобы по объектному коду восстановить исходный алгоритм шифрования. Надежность стандартной для электронной почты архитектуры S/MIME 2 не в состоянии компенсировать слабостей алгоритма шифрования. И без того не слишком надежная защита GSM от слабого алгоритма шифрования проигрывает еще больше. Во многих системах используются слишком короткие ключи. Можно привести множество других примеров ошибок в системах шифрования: программы повторно генерируют "уникальные" случайные значения, алгоритмы цифровой подписи не в состоянии обеспечить контроль за передаваемыми параметрами, хэш-функции открывают то, что должны защищать. В протоколы шифрования вносятся не предусмотренные разработчиками изменения. Пользователи любят "оптимизировать" имеющиеся средства, доводя их до столь примитивного уровня, что вся система защиты рушится, как карточный домик. 12.12. Предупреждение атак на криптосистемы Средства шифрования снижают вероятность того, что пользователи станут жертвами обмана, мошенничества, некорректных действий и т.д. Но архитектуру безопасности нельзя ограничивать столь узкими рамками. Надежная система должна самостоятельно обнаруживать несанкционированные операции и ликвидировать нежелательные последствия атаки. Один из основных принципов проектирования подобных систем заключается в знании того, что рано или поздно атаки противника увенчаются успехом. Скорее всего, удар будет нанесен в самом неожиданном направлении, с использованием неизвестных разработчикам методов. Очень важно своевременно распознать такое нападение и принять все необходимые меры к тому, чтобы минимизировать ущерб. Еще важнее как можно быстрее восстановить работоспособность поврежденной в ходе атаки системы. Необходимо сгенерировать новые пары ключей, заменить протокол, прекратить использование раскрытых противником средств, исключить из системы узлы, к которым взломщику удалось получить доступ, и т.д. К сожалению, многие продукты не занимаются сбором нужной информации, не контролируют ситуацию и не в состоянии надежно защитить данные от изменений. В журнале регистрации должны отражаться все события, позволяющие установить факт нападения. В случае необходимости должны быть представлены неопровержимые доказательства, способные убедить судей и присяжных в виновности злоумышленника. Разработчики систем безопасности должны следовать наставлениям таких авторитетов, как прусский генерал Карл фон Клаузевитц, утверждавший, что хорошие оборонительные средства должны отражать любые удары, даже те, о которых на сегодняшний день еще ничего не известно. Атакующим, напротив, достаточно найти одну единственную брешь, и вся система защиты будет ликвидирована. Они прибегают к самым разнообразным уловкам. Взломщики не гнушаются участвовать в заговорах, тщательно маскируют свои противоправные действия и готовы в течение достаточно продолжительного времени ждать появления необходимых средств. В их арсенале всегда найдется идея, позволяющая нанести неожиданный для разработчиков удар. Нет ничего проще, чем оградить свою информацию шатким, непрочным барьером с зияющими в нем дырами. Построить же непроницаемую систему защиты очень сложно. К сожалению, многие пользователи не видят разницы. В других областях анализ функциональных возможностей позволяет без труда отличить качественные продукты от наспех построенных систем. Достоинства хорошего кодека видны невооруженным глазом, плохой же выглядит значительно слабее и не поддерживает тех функций, которые доступны его конкурентам. В криптографии все по-другому. Тот факт, что программы шифрования работают, еще не позволяет говорить о надежной защите. Как создается большинство продуктов? Разработчики читают Applied Cryptography, выбирают приглянувшийся им алгоритм и протокол, тестируют его, и вот уже проект готов. На самом деле все не так просто. Функциональность и высокое качество не являются синонимами, и даже бесконечное тестирование не позволяет устранить всех брешей в системе защиты. Нужно хорошо разбираться в тонкостях терминологии: даже продукты, обладающие абсолютно надежными средствами шифрования, зачастую не могут гарантировать пользователям полной безопасности. ===================================================================================== ВОПРОСЫ: 1. Лицензирование и сертификация 2. Обеспечиваемая шифром степень защиты 3. Криптоанализ и атаки на криптосистемы 4. Слабые места криптосистем 5. Атаки на архитектуру 6. Атаки на конкретные реализации 7. Атаки на оборудование 8. Атаки на модели доверительных отношений 9. Атаки на пользователей 10. Атака на средства восстановления после сбоев 11. Атака на средства шифрования 12. Предупреждение атак на криптосистемы 13. Сетевая безопасность 13.1. Несанкционированное получение информации из автоматизированных систем 13.1.1. Удаленный доступ В отличие от локального доступа, палитра методов и средств при удаленном доступе значительно шире и достаточно сильно зависит от используемой операционной системы (ОС), настройки параметров безопасности и т.п. Как ни парадоксально, но наиболее защищенными (с некоторыми оговорками) при удаленном доступе являются АС, работающие под управлением операционных систем, которые наибольше всего уязвимы при локальном доступе, например Windows 98. Однако это противоречие только кажущееся. Действительно, системы типа MS DOS или Windows 98 изначально не проектировались для работы в сетях. Поэтому в них практически отсутствуют развитые средства удаленного доступа, а имеющиеся средства представляют собой внешние по отношению к ядру таких систем модули, слабо интегрированные с остальными компонентами подобных простейших ОС. Поэтому, если пользователь АС, работающей под управлением такой ОС, как Windows 98, соблюдает простейшие правила безопасности (например, не предоставляет доступ по сети к файлам и папкам своего компьютера), его система обладает высокой степенью устойчивости ко взлому. С другой стороны, большинство Unix-подобных операционных систем изначально проектировались и развивались именно как сетевые операционные системы. Поэтому такие системы часто для обеспечения безопасной работы в сетях требуют тщательной настройки параметров безопасности. Следует заметить, что за редким исключением (например, таким, как ОС OpenBSD), большинство современных ОС при настройке параметров, принятых по умолчанию, являются небезопасными с точки зрения работы в компьютерных сетях. Поскольку полное описание методов и средств несанкционированного получения информации из АС при удаленном доступе может занять объем, значительно превышающий объем данной книги, мы лишь вкратце рассмотрим основные из них, используя для этого схему удаленного проникновения в АС, которой пользуется большинство злоумышленников (рис. 1). Рис. 1. Типовая схема несанкционированного получения информации из АС при удаленном доступе 13.1.2. Сбор информации На этапе сбора информации злоумышленник определяет пул IP-адресов АС организации, доступных из сети общего пользования. Строго говоря, этапы сбора информации, сканирования, идентификации доступных ресурсов и, в какой-то мере, получения доступа могут предприниматься не злоумышленниками, а обычными пользователями (хотя, конечно, трудно назвать “обычным” пользователя, который сканирует все открытые порты АС, чтобы всего-навсего отправить сообщение электронной почты). Только совокупность этих операций с соблюдением некоторых условий (например, массированное неоднократное сканирование всего пула IP-адресов организации с попытками установления соединений на все открытые порты) может говорить о предпринимающихся попытках несанкционированного получения информации. Каждая же из указанных операций сама по себе не является чем-то из ряда вон выходящим. Именно поэтому в комплект поставки многих современных сетевых ОС входят инструментальные средства, призванные обеспечить выполнение соответствующих задач, в частности, сбора информации. К таким средствам относятся стандартные утилиты Unix whois, traceroute (в Windows — tracert), nslookup, host, и их аналоги, портированные в другие ОС, а также другие подобные средства, обладающие более дружественным интерфейсом (Web-ориентированные варианты whois, VisualRoute, Sam Spade и т.п.). С помощью таких вполне безобидных средств можно выяснить: • тип сетевого подключения организации (единичный компьютер, сеть класса C, сеть класса B); • имена и адреса серверов доменных имен (DNS — Domain Name System), обеспечивающих трансляцию символьных имен в IP-адреса по запросам АС организации; • сеть, в которой установлены подключенные к Internet АС организации (сеть провайдера, прямое подключение и т.п.); • схему подключения маршрутизаторов и брандмауэров; • реальные имена, телефоны и адреса электронной почты администратора подключения; • схему распределения IP-адресов внутри сети организации и имена отдельных узлов (с помощью так называемого переноса зоны с помощью утилиты nslookup). Если сеть организации достаточно обширна и в ней имеется множество компьютеров, подключенных к Internet, тщательно проведенный сбор информации может дать много других интересных для злоумышленника сведений. Чем тщательнее проведен предварительный сбор информации, тем выше вероятность успешного проникновения в АС интересующей злоумышленника организации. 13.1.3. Сканирование Составив предварительную схему сети и наметив предварительный перечень наиболее уязвимых ее узлов, злоумышленник, как правило, переходит к сканированию. Сканирование позволяет выявить реально работающие АС исследуемой организации, доступные по Internet, определить тип и версию ОС, под управлением которых они работают, а также получить перечни портов TCP и UDP, открытых на выявленных АС. Для проведения сканирования в распоряжении злоумышленника имеется широкий спектр инструментальных средств, начиная от простейшей утилиты ping, входящей в комплект поставки всех современных ОС, и заканчивая специализированными хакерскими инструментами, такими, как fping, Pinger, icmpenum, nmap, strobe, netcat, NetScantTools Pro 2000, SuperScan, NTOScanner, WinScan, ipeye, Windows UDP Port Scanner, Cheops и множеством других. Вооружившись этими или подобными инструментами, злоумышленник может уточнить составленную на предыдущем этапе схему сети и выбрать АС, на которые следует обратить внимание в первую, вторую и т.д. очереди. 13.1.4. Идентификация доступных ресурсов Очертив круг АС организации, которые представляют собой для злоумышленника наибольший интерес, он переходит к следующему этапу — идентификации доступных ресурсов. В большинстве современных сетевых ОС для решения подобных задач имеется целый ряд инструментальных средств, таких, например, как команды net, nbtstat и nbtscan в Windows NT/2000/XP и telnet, finger, rwho, rusers, rpcinfo и rpcdump в Unix. Кроме того, злоумышленнику могут пригодиться такие утилиты, как nltest, rmtshare, srvcheck, srvinfo и snmputil (Windows NT/2000/XP Resource Toolkit), а также хакерские утилиты DumpSec, Legion, NAT, enum, user2sid, sid2user и netcat. Тщательно проведенная идентификация доступных ресурсов выбранной для несанкционированного доступа АС может дать злоумышленнику информацию о доступных по сети дисках и папках, о пользователях и группах, имеющих доступ к данной АС, а также о выполняющихся на этой АС приложениях, включая сведения об их версиях. Подготовившись таким образом, злоумышленник либо принимает решение о проведении попытки получения несанкционированного доступа, либо выбирает в качестве “жертвы” другую АС организации. 13.1.5. Получение доступа Если принято решение о попытке проникновения, злоумышленник переходит к стадии активных действий, которые, как правило, выходят за рамки простого любопытствах, а в отдельных случаях могут уже квалифицироваться как уголовно наказуемые деяния. Целью операций, предпринимаемых на данном этапе, является получение доступа на уровне легального пользователя АС или ОС. К таким операциям относятся: • перехват паролей; • подбор паролей для доступа к совместно используемым сетевым ресурсам; • получение файла паролей; • использование программ взлома, обеспечивающих интерактивный доступ к АС путем перевода работающих на АС приложений в нештатный режим. Часто для получения доступа злоумышленники прибегают к социальному инжинирингу, побуждая пользователей тем или иным способом установить на своих АС программные закладки, действующие по принципу “Троянского коня”. Если это им удается, например, путем установки таких закладок, как Back Orifice или SubSeven, дальнейшее получение доступа к таким АС для злоумышленников не составляет труда. В тех случаях, когда злоумышленник по каким-то причинам не может или не намерен манипулировать пользователями, ему приходиться обеспечивать получение доступа самостоятельно. Для этого он может применить такие средства, как NAT, SMBGrind, L0phcrack, NT RAS, winhlp32, IISHack (Windows NT/2000/XP), Brutus, brute_web.c, pop.c, middlefinger, TeeNet (Unix) и множество специализированных программ взлома, рассчитанных на применения против конкретных приложений. Если АС предоставляет удаленный доступ к системе, например, на гостевом уровне, злоумышленник может предпринять попытку применения методов и средств, используемых при локальном доступе (например, скопировать файл паролей из небрежно настроенной системы). Однако в некоторых случаях злоумышленникам вообще не приходится что-либо предпринимать, а просто воспользоваться “любезностью” легального пользователя, непредусмотрительно установившего какую-либо систему удаленного доступа с настроенным по умолчанию паролем (или даже вообще без пароля), например pcAnywhere, VNC или Remotely Anywhere. В последнее время особенно часто жертвами злоумышленников становятся Web-серверы и работающие под их управлением приложения. Опытному взломщику Web-серверов достаточно провести несколько минут за исследованием Web-сервера, администраторы которого имеют поверхностное представление о безопасности, чтобы, не прибегая к особым ухищрением, получить доступ на уровне пользователя (а нередко и на системном или административном уровне), пользуясь одним лишь стандартным Web-клиентом. 13.1.6. Расширение полномочий Если на предыдущем этапе злоумышленник получил несанкционированный доступ на гостевом или пользовательском уровне он, как правило, постарается расширить свои полномочия и получить, как минимум, административный уровень. Для этого в большинстве случаев применяются такие же средства взлома и подбора паролей, а также программы взлома, что и при доступе на локальном уровне. Расширение полномочий позволяет злоумышленнику не только получить полный доступ к интересующей его АС, но и внести себя в список легальных администраторов, а также, возможно, сразу же получить административный доступ к другим АС организации. 13.1.7. Исследование системы и внедрение Получив доступ на административном уровне, злоумышленник изучает все имеющиеся на взломанной АС файлы и, найдя интересующую его информацию, завершает несанкционированный сеанс связи либо, если такая информация отсутствует или целью проникновения было не получение информации, а само проникновение, приступает к изучению других доступных ему в качестве администратора взломанной АС систем. При этом процесс повторяется, начиная с этапа идентификации ресурсов, и заканчивается внедрением в следующую АС организации и т.д., и т.п. 13.1.8. Сокрытие следов Получение административного доступа также может понадобиться злоумышленнику в том случае, если ему по каким-то причинам нужно скрыть следы проникновения. Часто для облегчения своей задачи в будущем злоумышленники оставляют на подвергшихся взлому АС утилиты, маскируя их под системные файлы. Однако к таким приемам прибегают только в тех случаях, когда вероятность обнаружения взлома оценивается злоумышленником как очень высокая. В большинстве же случаев после первого успешного проникновения в АС злоумышленник создает на ней тайные каналы доступа. 13.1.9. Создание тайных каналов К методам создания тайных каналов, с помощью которых злоумышленник может получать многократный доступ к интересующей его АС, относятся: • создание собственных учетных записей; • создание заданий, автоматически запускаемых системным планировщиком (cron в Unix, AT в Windows NT/2000/XP); • модификация файлов автозапуска (autoexec.bat в Windows 98, папка Startup, системный реестр в Windows, файлы rc в Unix); • внедрение программных закладок, обеспечивающих удаленное управление взломанной АС (netcat, remote.exe, VNC, Back Orifice); • внедрение программных закладок, перехватывающих нужную злоумышленнику информацию (регистраторы нажатия клавиш и т.п.) • внедрение программных закладок, имитирующих работу полезных программ (например, окно входа в систему). 13.1.10. Блокирование Иногда злоумышленники, не получив доступа к нужной им системе, прибегают к блокированию (DoS — Denial of Service). В результате подвергнувшаяся блокированию АС перестает отвечать на запросы легальных пользователей, т.е. возникает состояние “отказ в обслуживании”. Причем далеко не всегда состояние DoS АС является самоцелью злоумышленников. Часто оно инициируется для того, чтобы вынудить администратора перезагрузить систему. Однако нередко это нужно злоумышленнику, чтобы выдать свою систему за систему, намеренно переведенную им в состояние DoS. Наконец, в последнее время состояние DoS, от которого не застрахована ни одна современная АС, подключенная к Internet, используется в качестве средства кибертерроризма. 13.2. Определение общих задач обеспечения безопасности сети В связи с интенсивным использованием распределенных систем, локальных и глобальных компьютерных сетей (КС) одним из основных вопросов создания автоматизированных и информационных систем является обеспечение циркулирующей в них информации техническими и программными средствами безопасности и защиты. Наиболее общими чертами, характеризующими состояние обеспеченности безопасности сети, являются: • наличие сетевых и общесистемных средств безопасности; • существование реальных угроз безопасной работы сети; • недостаточное внимание разработчиков программ и пользователей сети вопросам защиты информации. Обеспечением безопасности называется аспект управления, связанный с предоставлением авторизованного (санкционированного) доступа к данным, устройствам, программам и другим компонентам КС. Основными гарантиями безопасности сети является: • доступность к сетевым компонентам, информации и службам только авторизованных пользователей; • конфиденциальность одних пользователей располагать соответствующими полномочиями, которыми не располагают другие; • целостность и сохранность компонентов и информации, их защита от похищения, повреждения или уничтожения посторонними воздействиями или из-за некомпетентности обслуживающего персонала. Гарантия безопасности достигается сетевыми и специальными компонентами программного обеспечения (ПО), средствами обработки информации и спецоборудованием сети (например, спецсредства защиты в компьютерно-телефонных сетях). Объектам сети и ее пользователям обычно угрожают некоторые факторы, вероятность возникновения и возможность предотвращения которых носит, как правило, непредвиденный характер. Например, если неавторизованное (несанкционированное) лицо похитит сетевое имя одного из объектов и соответствующий ему пароль, то вызванная этим угроза свидетельствует не только о нарушении защиты сети, но и том, что данная КС становится небезопасной. Ниже рассмотрим три основных вида угроз, которые нарушают сетевую, программную и информационную безопасность. 13.2.1. Угроза сетевой среде. Классифицируется по элементам сети, которым угрожает нарушение безопасности и включает ряд факторов. 1. Внутренний фактор. Связан с элементами сети, их неправильным функционированием или выходом из строя (например, поломка вентилятора может привести к перегреву компьютера и к возможной потере части информации). 2. Внешний фактор. Воздействие на КС объекта, находящегося вне ее (например, человек с магнитом). 3. Преднамеренный (активный) фактор. Специальное и целенаправленное действие, приводящее к потере, искажению, похищению информации или частичному повреждению объектов КС. К таким факторам относятся: шпионаж, диверсия, компьютерные вирусы, взламывание хакерами защищенных файлов или программ, а также несанкционированное извлечение информации из авторизованных данных или сообщений. 4. Непреднамеренный фактор. Действия, которые связаны с различными природными явлениями, угрожающими КС (авария, землетрясение, наводнение и т.п.). 13.2.2. Угроза программным объектам. К факторам, угрожающим программным объектам (приложениям, ОС, сервисным процедурам и т.п.) КС относятся: • случайное или преднамеренное уничтожение программы; • похищение программы путем копирования неавторизованным пользователем; • искажение программ вирусами или неправильной входной информацией; • возникновение программных ошибок, приводящих к искажению программ или данных. Одним из способов борьбы с такими угрозами является использование специальных сетевых процедур, которые обеспечивают безопасность и защиту, а также обнаружение угрожающих факторов и связанных с ними ошибок. Так как работа программных объектов в сети, как правило, заключается в обработке информации, в том числе параметров конфигурации системы, файлов данных, параметров взаимодействия объектов (процедур), то для некоторых из них необходимо обеспечить защиту. 13.2.3. Угроза информационным объектам. Безопасности информации угрожают следующие факторы: • случайное или преднамеренное уничтожение файлов баз данных; • замена параметров запросов путем перехвата, последствия от которого могут быть обнаружены не сразу; • похищение информации с мест ее хранения специальной аппаратурой и другими устройствами; • потеря данных при сбоях в сети или ошибках в самих программных объектах; • искажение передаваемых по сети данных путем подмены другой информацией. Некоторые из приведенных факторов обнаруживаются с помощью сетевых процедур контроля или других средств обнаружения ошибок. В настоящее время в состав сетевых процедур входят программы защиты от вирусов и от несанкционированного доступа. Кроме того, разрабатываются дополнительные меры по обеспечению безопасности современных КС: • физическая защита оборудования от угрожающих факторов (наводнений, пожаров и др.); • логическая защита информации с помощью специальных микросхем, устанавливаемых на сетевые интерфейсные платы; • хранение ключей шифрования в местах, недоступных из сети; • использование резервного сервера, который может взять на себя функции управления сетью при выходе из строя основного сервера; • копирование ценной информации с применением в узлах сети специальных сетевых интерфейсных плат и сохранение копий и паролей отдельно от основных данных; • контроль передаваемых запросов и их хранение в специальных областях; • полное протоколирование всех сетевых действий, выполняемых процессами или пользователями, а также предупреждение попыток несанкционированного подключения к сети; • ограничение доступа к определенным файлам и каталогам сети, а также к паролям и идентификаторам; применение новых контролирующих технологий, кодов аутентификации сообщений, гарантирующих отправку сообщения и надежную ее защиту от перехватов и искажений. В компьютерных системах и сетях в основном существует пять путей, допускающих возможность применения нелегальных действий с угрозами для ее безопасности: • доступ к данным и программам; • изменение данных; • пользование услугами и программами; • блокирование услуг; • недопустимость входа в сеть (impersonation). От первых трех видов нелегальных действий средства защиты предусмотрены практически во всех современных сетях. Охарактеризуем остальные. Блокирование – это действие, затрудняющее авторизованным лицам пользоваться услугами сети. Например, одновременная отправка с одного узла множества запросов ко всем принтерам КС приводит к тупиковым ситуациям (timeout) и, следовательно, к небезопасной работе сети. К этому понятию примыкает также генерация ложных (spoofing) сообщений с одного узла другим узлам сети, чтобы завести эти узлы в заблуждение, в результате чего сеть становится неработоспособной и небезопасной. Недопустимый вход в сеть – это ложное задание подлинности автора, посылающего запрос. Одним из способов борьбы с подобными действиями является использование серверов с контрольными функциями и процедурами, предупреждающими возникновение такого рода угрозы. 13.3. Методы и средства подключения для несанкционированного доступа Самым простым является контактное подключение, например параллельное подключение телефонного аппарата, довольно широко распространенное в быту. Но контактное подключение такого типа легко обнаруживается за счет существенного падения напряжения, приводящего к ухудшению слышимости в основном телефонном аппарате. В техническом отношении метод контактного подключения заключается в том, что он реализуется непосредственным включением в провода телефонного либо телеграфного аппаратов. Более совершенным является подключение к линиям связи или проводам с помощью согласующего устройства (рис. 2.). Рис. 2. Подключение к линии связи с помощью согласующего устройства Известен способ контактного подключения аппаратуры к линиям связи с компенсацией падения напряжения. Прослушивающая аппаратура и компенсирующий источник напряжения при этом способе включается в линию последовательно, как это показано на рис. 3. Известен и способ перехвата передач с помощью включения в линию низкоомного чувствительного реле (рис. 4). Контакты реле замыкают местную цепь телефонного аппарата в соответствии с током, проходящим по линии. Механическое реле может применяться на низких скоростях телеграфирования, на более высоких же скоростях (факс, линии передачи данных) используются электронные реле. При этом не исключается применение усилителей тока для устойчивости работы аппаратуры перехвата. Рис. 4. Подключение к линии связи с помощью низкоомного реле Бесконтактное подключение к линии связи осуществляется двумя способами: • за счет электромагнитных наводок на параллельно проложенных проводах рамки; • с помощью сосредоточенной индуктивности, охватывающей контролируемую линию. В обоих случаях прослушивание реализуется за счет электромагнитной индукции. Когда имеется двухпроводная телефонная линия с разнесенными неперевитыми проводами (так называемая “лапша”), она индуцирует ЭДС в параллельных проводах, т.е. прослушивается. В схеме, представленной на рис. 5, I1, I2 — токи в двухпроводной телефонной линии; d1, d2, d3 и d4 — расстояния между рамкой и проводами прослушиваемой линии. Рис. 5. Прослушивание двухпроводной линии на параллельной рамке Ток I1 индуцирует в рамке ток одного направления (контурные стрелки), а ток I2 индуцирует ток противоположного направления (затушеванные стрелки). Следовательно, в рамке будет циркулировать ток I, равный разности индуцированных токов. Этот ток, попадая в усилитель поста прослушивания, усиливается и поступает на головные телефоны и магнитофон. ЭДС, наведенная в рамке, будет тем больше, чем больше активная длина рамки L, чем больше разнос проводов двухпроводной линии и чем ближе к линии находится рамка. Если вблизи телефонной линии расположить симметричный индукционный датчик, выполненный в виде трансформатора (рис. 6), то в нем будет наводиться ЭДС, значение которой определяется мощностью передаваемого по линии сигнала и расстоянием между обмотками и линией. Принятый индукционным датчиком сигнал может быть усилен усилителем (селективным) звуковых частот. Качество принимаемого сигнала определяется подбором характеристик индукционного датчика, коэффициентом усиления и настройкой усилителя НЧ и, обязательно, регулируемой полосой пропускания. Это позволяет отфильтровывать другие сигналы наводок и помех и качественно выделить собственно интересующий сигнал. Рис. 6. Подключение к линии индукционного датчика Контактное и бесконтактное подключение возможно и к линиям волоконно-оптической связи (ВОЛС). Для контактного подключения удаляют защитный слой кабеля, стравливают светоотображающую оболочку и изгибают оптический кабель на необходимый угол (рис. 7). Рис. 7. Вариант контактного подключения к ВОЛС При таком подключении к ВОЛС обнаружить утечку информации за счет ослабления мощности излучения бывает очень трудно, так как чтобы прослушать переговоры при существующих приемных устройствах несанкционированного доступа, достаточно отобрать всего 0,001% передаваемой мощности. При этом дополнительные потери, в зависимости от величины изгиба кабеля, составляют всего 0,01–1,0 дБ. Бесконтактное подключение к ВОЛС осуществляется следующим образом (рис. 8): Рис. 8. Вариант бесконтактного подключения к ВОЛС • в качестве элемента съема светового сигнала используется стеклянная трубка, заполненная жидкостью с высоким показателем преломления и с изогнутым концом, жестко фиксированная на оптическом кабеле, с которого предварительно снята экранная оболочка; • на отогнутом конце трубки устанавливается объектив, фокусирующий световой поток на фотодиод, а затем этот сигнал подается на усилитель звуковых сигналов. 13.4. Подходы к обеспечению безопасности в современных распределенных системах общего назначения К настоящему времени получили широкое распространение клиент-серверные системы общего назначения, предоставляющие пользователям богатый набор сервисов обслуживания запросов, хранения и ведения объектов в общих хранилищах-репозиториях, взаимодействия удаленно расположенных программных компонентов, обмена данными и т.п. Эти средства являются базисом для разработчиков компонентных и объектно-ориентированных приложений, освобождая их от создания собственных сервисных и системных средств обслуживания распределенных приложений. Подразделяются они на программные, организационные и административные. К программным средствам относятся специальные сетевые процедуры и функции безопасности, выполняющие: • проверку параметров аутентификации в запросах, их принадлежность зарегистрированным пользователям; • контроль паролей, ассоциированных с подлинными именами пользователей системы; • анализ доступа к программам и данным авторизованными и неавторизованными пользователями; • проверка паролей и частоты их использования и изменения. Разные категории пользователей с помощью этих средств могут провести анализ их вхождений в сеть и сформировать ограничения, которых необходимо придерживаться при работе в сети. К организационным средствам относятся службы, занимающиеся внедрением технических средств защиты в сетевые инфраструктуры, определением новых способов шифрования и формированием разговорных ключей, наблюдением за системными таблицами, фиксирующими все циркулирующие сообщения с целью обнаружения разного рода нарушений, угрожающих безопасности КС. Под административными средствами понимаются мероприятия специалистов (администраторов) сферы обслуживания КС по проведению политики и мер безопасности. Им предоставляются специальные серверы, с помощью которых проверяются: • пароли пользователей, их минимальная и максимальная длина; • частота изменения паролей; • списки использованных паролей; • типы доступов (в том числе удаленных и гостевых) и предоставляемых пользователям паролей. К классу систем с приведенными средствами и мероприятиями по организации безопасности относятся: OSF DCE, Sun RPC, CORBA, MS DСОМ и др. Дадим краткую характеристику особенностей организации служб безопасности и защиты в этих системах. 13.4.1. Распределенная система OSF DCE (Open Software Foundation Distributed Computing Environment). В этой системе имеется служба безопасности, которая располагается на одном из серверов, защищенном физически и программно от подключения к нему произвольных пользователей. Основные требования в данной службе к обеспечению безопасности следующие: • пароль является единственным средством проверки подлинности пользователя, который ассоциируется с регистрационным именем; • пользователь регистрируется только один раз, после чего имеет доступ к службам сети; доступ к сетевому сервису основывается на гибкой системе проверки личности пользователя с правом на защиту информации; • ключ для шифрования и расшифровки единственен для каждого пользователя. Служба безопасности DCE состоит из трех подсистем (подслужб): аутентификации, авторизации и контроля доступа. Служба аутентификации обеспечивает установку подлинности личности пользователя. Основу аутентификации составляет метод шифрования информации с секретным ключом. При регистрации пользователя одновременно генерируется соответствующий ему разговорный ключ (Conversation key). Специальная система (Private Attribute Certificate) выдает сертификат, в котором указывается авторизованная информация, категория пользователя и билет (ticket), позволяющий запрашивать услугу у сервера. Важное место занимают средства передачи протоколов путем совершенствования средств ведения списков контроля доступа, а также передачи поручений другим серверам. Предпринимаются также шаги по реализации задач шифрования с применением открытого ключа с помощью программных и технических средств (например, устройство Clipper Chip для аппаратного шифрования). Служба авторизации базируется на информации, содержащейся в сертификате атрибутов привилегий, которая включает сообщение для обращения к некоторому ресурсу сети, например к распределенной БД. Последняя содержит описание входов для зарегистрированных категорий пользователей, имен групп (совокупности пользователей) и организаций. Каждое зарегистрированное имя и пользователь принадлежат некоторой организации, где они работают. Существуют системы протоколирования изменений авторизованной информации с целью отслеживания причин разных инцидентов в сети. Служба контроля доступа реализована с помощью системного списка контроля доступа, который определяется для каждого узла сети и для системы в целом. В нем указываются категории зарегистрированных пользователей и допустимые для них операции. Как правило, эти списки первоначально создают разработчики приложений, погружаемых в среду распределенной системы, после чего их список передается менеджеру в системный список контроля доступа. В целом система безопасности OSF DCE предоставляет надежные механизмы защиты и обладает большей степенью безопасности, чем другие распределенные системы обработки данных. 13.4.2. Распределенная система RPC (Remote Procedure Call) Sun Microsystems. В системе реализованы механизмы аутентификации (установка подлинности личности), которые базируются на стандарте кодирования данных DES. Эти механизмы поддерживаются специальной системной службой безопасности. Тип аутентификации идентифицируется уникальным именем (номером), присваиваемым при входе в систему для регистрации. С каждым типом связываются верительные данные, которые идентифицируют личность пользователя (фамилия, адрес, место проживания и др.) и верификатор этих данных (например, фото личности, задавшей верительные данные). В качестве верительных данных используются также: имя машины, идентификатор пользователя (группы), список групп. При загрузке системы с указанием имени машины пользователь становится привилегированным, а имя – уникальным сетевым именем для всех машин сети. Никто другой не может воспользоваться этим именем. В качестве верификатора используется и штамп времени (время таймера при отправке клиентом запроса серверу). Сервер раскодирует этот штамп, сравнивает его с ключом переговоров и проверяет, чтобы значение штампа времени было больше, чем в предыдущем запросе, и чтобы это время не истекло (не вышло за интервал действия верительных данных клиента). Верительные данные не признаются системой, если указанные условия не выполнены. Для обеспечения большей безопасности (секретности) в системе поддерживается DES-аутентификация с открытыми ключами, которые присваиваются администратором сети. Секретные ключи дешифруются при регистрации пароля автоматически. С целью гарантии использования этих ключей к сетевому имени добавляется еще имя ОС, в которой пользователь работает и посылает запросы в сеть. Все основные функции по обеспечению безопасности приложения выполняет специально создаваемый монитор безопасности, размещаемый на сервере системы. Последний взаимодействует с общей службой безопасности системы. 13.4.3. Система брокера объектных запросов – CORBA (Common Object Request Broker Architecture). Система поддерживает объектный подход к проектированию приложений и предоставляет мощный набор средств по защите объектов и запросов, посылаемых по сети друг другу. В основу этих средств положена стандартная модель защиты, определяющая базовую политику безопасности и которая включает: • условия, при которых объектам разрешается взаимодействовать или иметь доступ к ресурсам; идентификацию пользователей, подтверждающую личность пользователя и его права; • безопасность взаимосвязей между объектами, включая доверие между ними и качество защиты передаваемых данных объектам, распределенным по сетевым узлам; • виды деятельности, способствующие обеспечению безопасности. Согласно этой модели брокер объектных запросов анализирует параметры аутентификации в запросах к объектам и обращается к соответствующим функциям системы защиты для контроля доступа и проверки условий безопасности параметров взаимодействия. Если запрос правильный, то вызывается соответствующая подслужба безопасности, которая обеспечивает защищенную передачу запроса серверу. Стратегия защиты включает авторизованную модель и модель контроля доступа вызываемых объектов, которые распределены в разных узлах сети. Этот вызов осуществляется через интерфейс объектов, содержащий описание всех методов и операций объектов. За установку прав доступа одного объекта к другому отвечает администратор сети, от имени которого может выступать и клиент. Он проверяет такие параметры объекта: подлинность псевдонимов, доступ к контролируемому списку зарегистрированных пользователей, полномочия авторизованного пользователя и др. Выделяется несколько привилегированных атрибутов, которые известны системе и администратору, осуществляющему их выборку и изменение. Для обеспечения взаимного доверия между клиентом и объектом используются такие механизмы защиты, как аутентификация и использование разговорных или публичных ключей защиты. Стратегия контроля доступа базируется на модели контроля доступа и системных функциях проверки: разрешения доступа; текущих привилегий и атрибутов целевых объектов, определенных администратором или объектом; времени отправки вызова; выполнения операций над объектами и др. При этих проверках используются авторизованная модель и контрольный список схем доступа, отображающие зарегистрированных авторизованных пользователей системы. Эта модель содержит описание привилегированных атрибутов, переменных для контроля доступа и информации об операциях, данных и их контекстах. Именно эта информация дает возможность контролировать имена привилегированных атрибутов и операций над ними. Особенностью обеспечения безопасности в системе CORBA является применение: • стратегии, критериев и правил авторизованной защиты; • доверительных данных и информации об объектах, которые не могут вмешиваться в другие объекты и сами должны быть защищены от них; • секретной технологии со специальными механизмами защиты. Эти средства могут использоваться при необходимости организовать секретность и защищенность объектов и данных распределенных приложений сети. 13.4.4. Модель распределенных объектов – DCOM (Distributed Component Object Model) Microsoft. Данная модель лежит в основе большинства средств, созданых из компонентов известными фирмами: Digital Equipment Corporation, Siemens, Silicon Graphic, Sun Microsystems и др. Существенным достижением в развитии этой модели является подсистема MTS (Microsoft Transaction Server), предоставляющая разные виды услуг по прохождению транзакций в сетевой среде, средств их защиты и обеспечения безопасности объектных приложений. Данные средства безопасности базируются на понятии роли (role-based security), которой пользуются разработчики приложений при определении различных классов полномочий на прикладном уровне вместо существующих средств на низком уровне. Разработка начинается с авторизации, т.е. с описания ролей и разрешенных им действий с определенными компонентами, интерфейсами и методами в пределах приложения. Доступ к таким объектам управляется системой MTS. Выводы. Проведенный анализ возможностей создания разного рода угроз безопасной работы распределенных систем и способов их предупреждения с помощью сетевых и общесистемных средств поддержки разработки ПО (Microsoft, Sun Microsystems, OSF DCE и др.) позволяет сделать вывод о том, что полной гарантии безопасного выполнения ПО пока достичь не удается. В основном эти средства реализуют такие способы обеспечения безопасности, как авторизация, аутентификация и шифрование. Несмотря на то, что эти средства реализованы по-разному и в некоторой степени затрудняют работу ПО, имеются и общие способы поддержки защиты – единство структуры системных списков доступа и семантики процедур формирования разговорных ключей. Сходство некоторых задач безопасности и защиты информации создает основу для переноса разрабатываемых приложений в другие современные среды с гарантией защиты от несанкционированного доступа к данным и передаваемым сообщениям. Существенный вклад в рассматриваемую проблематику вносят и новые технические и программные средства защиты данных серверов баз данных. 13.5. Сервера Основными компонентами любой информационной сети являются сервера и рабочие станции. Сервера предоставляют информационные или вычислительные ресурсы, на рабочих станциях работает персонал. В принципе любая ЭВМ в сети может быть одновременно и сервером и рабочей станцией – в этом случае к ней применимы описания атак, посвященные и серверам и рабочим станциям. Основными задачами серверов являются хранение и предоставление доступа к информации и некоторые виды сервисов. Следовательно, и все возможные цели злоумышленников можно классифицировать как: • получение доступа к информации; • получение несанкционированного доступа к услугам; • попытка вывода из рабочего режима определенного класса услуг; • попытка изменения информации или услуг, как вспомогательный этап какой-либо более крупной атаки. Попытки получения доступа к информации, находящейся на сервере, в принципе ничем не отличаются от подобных попыток для рабочих станций, и мы расмотрим их позднее. Проблема получения несанкционированного доступа к услугам принимает чрезвычайно разнообразные формы и основывается в основном на ошибках или недокументированных возможностях самого программного обеспечения, предоставляющего подобные услуги. А вот проблема вывода из строя (нарушения нормального функционирования) сервисов довольно актуальна в современном компьютерном мире. Класс подобных атак получил название атака "отказ в сервисе" (англ. deny of service – DoS). Атака "отказ в сервисе" может быть реализована на целом диапазоне уровней модели OSI: физическом, канальном, сетевом, сеансовом. Изменение информации или услуг как часть более крупномасштабной атаки является также очень важной проблемой в защите серверов. Если на сервере хранятся пароли пользователей или какие-либо данные, которые могут позволить злоумышленнику, изменив их, войти в систему (например, сертификаты ключей), то естественно, сама атака на систему начнется с атаки на подобный сервер. В качестве серверов услуг, наиболее часто подвергающимся модификации, следует назвать DNS-сервера. DNS-служба (англ. Domain Name System – служба доменных имен) в сетях Intra– и Internet отвечает за сопоставление "произносимых" и легко запоминаемых доменных имен (например, www.intel.com или mail.metacom.ru) к их IP-адресам (например, 165.140.12.200 или 194.186.106.26). Пакеты между станциями всегда передаются только на основании IP-адресов (маршрутизаторы ориентируются только на их значения при выборе направления отправки пакета – доменное имя вообще не включается в отправляемый пакет), а служба DNS была создана в основном для удобства пользователей сети. Как следствие и во многих сетевых программах имя удаленного компьютера для большей гибкости или для удобства операторов заносится не в виде 4-байтного IP-адреса, а в виде доменного имени. Да, действительно, два указанных преимущества будут достигнуты в этом случае, а вот безопасность пострадает. Дело в том, что, если злоумышленнику удастся заполучить права доступа к DNS-серверу, обслуживающему данный участок сети, то он вполне может изменить программу DNS-сервиса. Обычно изменение делается таким образом, чтобы по некоторым видам запросов вместо правильного IP-адреса клиенту выдавался IP-адрес какой-либо вспомогательной машины злоумышленника, а все остальные запросы обрабатывались корректно. Это дает возможность изменять путь прохождения трафика, который возможно содержит конфиденциальную информацию, и делать так, что весь поток информации, который в нормальном режиме прошел бы вне досягаемости от прослушивания, теперь поступал сначала прямо в руки злоумышленника (а затем его уже можно переправлять по настоящему IP-адресу второго абонента). 13.6. Рабочие станции Основной целью атаки рабочей станции является, конечно, получение данных, обрабатываемых, либо локально хранимых на ней. А основным средством подобных атак до сих пор остаются "троянские" программы. Эти программы по своей структуре ничем не отличаются от компьютерных вирусов, однако при попадании на ЭВМ стараются вести себя как можно незаметнее. При этом они позволяют любому постороннему лицу, знающему протокол работы с данной троянской программой, производить удаленно с ЭВМ любые действия. То есть основной целью работы подобных программ является разрушение системы сетевой защиты станции изнутри – пробивание в ней огромной бреши. Для борьбы с троянскими программами используется как обычное антивирусное ПО, так и несколько специфичных методов, ориентированных исключительно на них. В отношении первого метода как и с компьютерными вирусами необходимо помнить, что антивирусное ПО обнаруживает огромное количество вирусов, но только таких, которые широко разошлись по стране и имели многочисленные преценденты заражения. В тех же случаях, когда вирус или троянская программа пишется с целью получения доступа именно к Вашей ЭВМ или корпоративной сети, то она практически с вероятностью 90% не будет обнаружена стандартным антивирусным ПО. Те троянские программы, которые постоянно обеспечивают доступ к зараженной ЭВМ, а, следовательно, держат на ней открытый порт какого-либо транспортного протокола, можно обнаруживать с помощью утилит контроля за сетевыми портами. Например, для операционных систем клона Microsoft Windows такой утилитой является программа NetStat. Запуск ее с ключом "netstat -a" выведет на экран все активные порты ЭВМ. От оператора в этом случае требуется знать порты стандартных сервисов, которые постоянно открыты на ЭВМ, и тогда, любая новая запись на мониторе должна привлечь его внимание. На сегодняшний день существует уже несколько программных продуктов, производящих подобный контроль автоматически. В отношении троянских программ, которые не держат постоянно открытых транспортных портов, а просто методически пересылают на сервер злоумышленника какую-либо информацию (например, файлы паролей или полную копию текста, набираемого с клавиатуры), возможен только сетевой мониторинг. Это достаточно сложная задача, требующая либо участия квалифицированного сотрудника, либо громоздкой системы принятия решений. Поэтому наиболее простой путь, надежно защищающий как от компьютерных вирусов, так и от троянских программ – это установка на каждой рабочей станции программ контроля за изменениями в системных файлах и служебных областях данных (реестре, загрузочных областях дисков и т.п.) – так называемых адвизоров (англ. adviser – уведомитель). 13.7. Среда передачи информации Естественно, основным видом атак на среду передачи информации является ее прослушивание. В отношении возможности прослушивания все линии связи делятся на: • широковещательные с неограниченным доступом; • широковещательные с ограниченным доступом; • каналы "точка-точка". К первой категории относятся схемы передачи информации, возможность считывания информации с которых ничем не контролируется. Такими схемами, например, являются инфракрасные и радиоволновые сети. Ко второй и третьей категориям относятся уже только проводные линии: чтение информации с них возможно либо всеми станциями, подключенными к данному проводу (широковещательная категория), либо только теми станциями и узлами коммутации через которые идет пакет от пункта отправки до пункта назначения (категория "точка-точка"). К широковещательной категории сетей относятся сеть TokenRing, сеть EtherNet на коаксиальной жиле и на повторителях типа хаб (англ. hub). Целенаправленную (защищенную от прослушивания другими рабочими станциями) передачу данных в сетях EtherNet производят сетевые коммутаторы типа свич (англ. switch) и различного рода маршрутизаторы типа роутер (англ. router). Сеть, построенная по схеме с защитой трафика от прослушивания смежными рабочими станциями, почти всегда будет стоить дороже, чем широковещательная топология, но за безопасность нужно платить. В отношении прослушивания сетевого трафика подключаемыми извне устройствами существует следующий список кабельных соединений по возрастанию сложности их прослушивания: • невитая пара – сигнал может прослушиваться на расстоянии в несколько сантиметров без непосредственного контакта; • витая пара – сигнал несколько слабее, но прослушивание без непосредственного контакта также возможно; • коаксиальный провод – центральная жила надежно экранирована оплеткой: необходим специальный контакт, раздвигающий или режущий часть оплетки, и проникающий к центральной жиле; • оптическое волокно – для прослушивания информации необходимо вклинивание в кабель и дорогостоящее оборудование, сам процесс подсоединения к кабелю сопровождается прерыванием связи и может быть обнаружен, если по кабелю постоянно передается какой-либо контрольный блок данных. Вывод систем передачи информации из строя (атака "отказ в сервисе") на уровне среды передачи информации возможен, но обычно он расценивается уже как внешнее механическое или электронное (а не программное) воздействие. Возможны: физическое разрушение кабелей, постановка шумов в кабеле и в инфракрасных или радиотрактах. 13.8. Узлы коммутации сетей Узлы коммутации сетей представляют для злоумышленников: • инструмент маршрутизации сетевого трафика; • необходимый компонент работоспособности сети. В отношении первой цели получение доступа к таблице маршрутизации позволяет изменить путь потока возможно конфиденциальной информации в интересующую злоумышленника сторону. Дальнейшие его действия могут быть подобны атаке на DNS-сервер. Достичь этого можно либо непосредственным администрированием, если злоумышленник каким-либо получил права администратора (чаще всего узнал пароль администротора или воспользовался несмененным паролем по умолчанию). В этом плане возможность удаленного управления устройствами коммутации не всегда благо: получить физический доступ к устройству, управляемому только через физический порт, гораздо сложнее. Либо же возможен второй путь атаки с целью изменения таблицы маршрутизации – он основан на динамической маршрутизации пакетов, включенной на многих узлах коммутации. В таком режиме устройство определяет наиболее выгодный путь отправки конкретного пакета, основываясь на истории прихода определенных служебных пакетов сети – сообщений маршрутизации (протоколы ARP, RIP и другие). В этом случае при фальсификации по определенным законам нескольких подобных служебных пакетов можно добиться того, что устройство начнет отправлять пакеты по пути, интересующем злоумышленника, думая, что это и есть самый быстрый путь к пункту назначения. При атаке класса "отказ в сервисе" злоумышленник обычно заставляет узел коммутации либо передавать сообщения по неверному "тупиковому" пути (как этого можно добиться мы рассмотрели выше), либо вообще перестать передавать сообщения. Для достижения второй цели обычно используют ошибки в программном обеспечении, запущенном на самом маршрутизаторе, с целью его "зависания". Так, например, совсем недавно было обнаружено, что целый модельный ряд маршрутизаторов одной известной фирмы при поступлении на его IP-адрес довольно небольшого потока неправильных пакетов протокола TCP либо перестает передавать все остальные пакеты до тех пор, пока атака не прекратиться, либо вообще зацикливается. 13.9. Уровни сетевых атак согласно модели OSI Эталонная модель взаимодействия открытых систем OSI (англ. Open Systems Interconnection) была разработана институтом стандартизации ISO с целью разграничить функции различных протоколов в процессе передачи информации от одного абонента другому. Подобных классов функций было выделено 7 – они получили название уровней. Каждый уровень выполняет свои определенные задачи в процессе передачи блока информации, причем соответствующий уровень на приемной стороне производит преобразования, точно обратные тем, которые производил тот же уровень на передающей стороне. В целом прохождение блока данных от отправителя к получателю показано на рис.9. Каждый уровень добавляет к пакету небольшой объем своей служебной информации – префикс (на рисунке они изображены как P1...P6). Некоторые уровни в конкретной реализации вполне могут отсутствовать. Данная модель позволяет провести классификацию сетевых атак согласно уровню их воздействия. Рис.9. Физический уровень отвечает за преобразование электронных сигналов в сигналы среды передачи информации (импульсы напряжения, радиоволны, инфракрасные сигналы). На этом уровне основным классом атак является "отказ в сервисе". Постановка шумов по всей полосе пропускания канала может привести к "надежному" разрыву связи. Канальный уровень управляет синхронизацией двух и большего количества сетевых адаптеров, подключенных к единой среде передачи данных. Примерами его являются протоколы Ethernet. Воздействия на этом уровне также заключаются в основном в атаке "отказ в сервисе". Однако, в отличие от предыдущего уровня, здесь производится сбой синхропосылок или самой передачи данных периодической передачей "без разрешения и не в свое время". Сетевой уровень отвечает за систему уникальных имен и доставку пакетов по этому имени, то есть за маршрутизацию пакетов. Примером такого протокола является протокол Интернета IP. Все атаки, основанные на заведомо неправильной маршрутизации пакетов, мы уже рассмотрели. Транспортный уровень отвечает за доставку больших сообщений по линиям с коммутацией пакетов. Так как в подобных линиях размер пакета представляет собой обычно небольшое число (от 500 байт до 5 килобайт), то для передачи больших объемов информации их необходимо разбивать на передающей стороне и собирать на приемной. Транспортными протоколами в сети Интернет являются протоколы UDP и TCP. Реализация транспортного протокола – довольно сложная задача, а если еще учесть, что злоумышленник придумывает самые разные схемы составления неправильных пакетов, то проблема атак транспортного уровня вполне объяснима. Все дело в том, что пакеты на приемную сторону могут приходить и иногда приходят не в том порядке, в каком они были отправлены. Причина обычно состоит в потере некоторых пакетов из-за ошибок или переполненности каналов, реже – в использовании для передачи потока двух альтернативных путей в сети. А, следовательно, операционная система должна хранить некоторый буфер пакетов, дожидаясь прихода задержавшихся в пути. А если злоумышленник с умыслом формирует пакеты таким образом, чтобы последовательность была большой и заведомо неполной, то тут можно ожидать как постоянной занятости буфера, так и более опасных ошибок из-за его переполнения. Сеансовый уровень отвечает за процедуру установления начала сеанса и подтверждение (квитирование) прихода каждого пакета от отправителя получателю. В сети Интернет протоколом сеансого уровня является протокол TCP (он занимает и 4, и 5 уровни модели OSI). В отношении сеансового уровня очень широко распространена специфичная атака класса "отказ в сервисе", основанная на свойствах процедуры установления соединения в протоколе TCP. Она получила название SYN-Flood (здесь – flood – англ. "большой поток"). При попытке клиента подключиться к серверу, работающему по протоколу TCP (а его используют более 80% информационных служб, в том числе HTTP, FTP, SMTP, POP3), он посылает серверу пакет без информации, но с битом SYN, установленным в 1 в служебной области пакета – запросом на соединение. По получении такого пакета сервер обязан выслать клиенту подтверждение приема запроса, после чего с третьего пакета начинается собственно диалог между клиентом и сервером. Одновременно сервер может поддерживать в зависимости от типа сервиса от 20 до нескольких тысяч клиентов. При атаке типа SYN-Flood злоумышленник начинает на своей ЭВМ создавать пакеты, представляющие собой запросы на соединение (то есть SYN-пакеты) от имени произвольных IP-адресов (возможно даже несуществующих) на имя атакуемого сервера по порту сервиса, который он хочет приостановить. Все пакеты будут доставляться получателю, поскольку при доставке анализируется только адрес назначения. Сервер, начиная соединение по каждому из этих запросов, резервирует под него место в своем буфере, отправляет пакет-подтверждение и начинает ожидать третьего пакета клиента в течение некоторого промежутка времени (1-5 секунд). Пакет-подтверждение уйдет по адресу, указанному в качестве ложного отправителя в произвольную точку Интернета и либо не найдет адресата вообще, либо чрезмерно "удивит" операционную систему на этом IP-адресе (поскольку она никаких запросов на данный сервер не посылала) и будет просто проигнорирован. А вот сервер при достаточно небольшом потоке таких запросов будет постоянно держать свой буфер заполненным ненужными ожиданием соединений и даже SYN-запросы от настоящих легальных пользователей не будут помещаться в буфер: сеансовый уровень просто не знает и не может узнать, какие из запросов фальшивые, а какие настоящие и могли бы иметь больший приоритет. Атака SYN-Flood получила довольно широкое распространение, поскольку для нее не требуется никаких дополнительных подготовительных действий. Ее можно проводить из любой точки Интернета в адрес любого сервера, а для отслеживания злоумышленника потребуются совместные действия всех провайдеров, составляющих цепочку от злоумышленника до атакуемого сервера (к чести сказать, практически все фирмы-провайдеры, если они обладают соответствующим программным обеспечением и квалифицированным персоналом, активно участвуют в отслеживании атакующей ЭВМ по первой же просьбе, в том числе и от зарубежных коллег). =============================================================================== ВОПРОСЫ: 1. Несанкционированное получение информации из автоматизированных систем 2. Определение общих задач обеспечения безопасности сети 3. Методы и средства подключения для несанкционированного доступа 4. Подходы к обеспечению безопасности в современных распределенных системах общего назначения 5. Распределенная система OSF DCE 6. Распределенная система RPC 7. Система брокера объектных запросов – CORBA 8. Модель распределенных объектов – DCOM 9. Безопасность серверов 10. Безопасность рабочих станций 11. Безопасность среды передачи информации 12. Безопасность узлов коммутации сетей 13. Уровни сетевых атак согласно модели OSI 14. Программное обеспечение и информационная безопасность 14.1. Вирусные методы разрушения информации Компьютерным вирусом называется программа, которая может “заражать” другие программы, включая в них свою (возможно, модифицированную) копию. Эта копия, в свою очередь, также способна к дальнейшему размножению. Следовательно, заражая программы, вирусы способны распространяться от одной программы к другой. Зараженные программы (или их копии) могут передаваться через дискеты или по сети на другие ЭВМ. Упрощенно процесс заражения вирусом программных файлов можно представить следующим образом. 1. Код зараженной программы изменен таким образом, чтобы вирус получал управление первым, до начала работы программы-носителя. 2. При получении управления вирус находит на диске какую-нибудь не зараженную программу и вставляет собственную копию в начало (или в конец) этой программы. Возможны случаи, когда вирус включает себя в середину программы. 3. Если вирус дописывается не в начало программы, то он корректирует ее код (или даже уничтожает программу) с тем, чтобы получить управление первым. 4. После размножения (или вместо него в отдельных случаях) вирус может производить различные разрушающие действия. 5. После этого управление обычно передается программе-носителю (как правило, она сохраняется вирусом) и она выполняет свои функции, делая незаметными для пользователя действия вируса. Для более эффективного размножения вирус при первом получении управления становится резидентным, т.е. постоянно присутствует в оперативной памяти во время работы компьютера и размножает свои копии, как говорилось раньше, при каждом обращении пользователя к программе для ее выполнения, копирования, изменения или просмотра. Одной из разновидностей вирусов являются вредоносные программы типа “Троянский конь”. К ним обычно относят специально созданные программы, которые, попадая в вычислительные системы (обычно под видом заведомо полезных программ), начинают скрытно выполнять несанкционированные действия. Еще одним типом вирусов являются так называемые черви, которые воспроизводятся, копируя себя в памяти одного или нескольких компьютеров (в случае сети), независимо от наличия в ней других программ. В качестве программ-носителей вирусов могут выступать следующие носители. • Выполняемые файлы, т.е. файлы с расширением COM, EXE, DLL, OVL и т.п. Так как вирус начинает работу при запуске зараженной программы, особенно опасно заражение часто используемых программ. При заражении программы многими из современных вирусов, использующих особенности формата выполняемых файлов для системы Windows, длина программы остается неизменной. Возможно также распространение вируса в программах, написанных на языке программирования высокого уровня, если они работают в среде интерпретатора этого языка, например VBA (Visual Basic for Application), который встраивается в такие популярные программы, как Microsoft Word, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint, CorelDraw, AutoCAD и др. • Программы операционной системы и драйверы устройств (обычно имеют расширения SYS, BIN, VXD и т.п.). • Программа-загрузчик операционной системы, находящаяся в первом секторе диска. Так как программа-загрузчик невелика, то вирус обычно размещает себя в дополнительных секторах на диске, которые помечает как “плохие” (bad). • Объектные файлы и библиотеки (расширения OBJ, LIB, TPU и т.п.). Такие файлы и библиотеки, полученные из ненадежного источника, могут содержать, помимо полезного кода, встроенный вирус. При использовании зараженных библиотек вирус автоматически будет попадать во все создаваемые на основе таких библиотек программы. Вирусы часто производят какие-либо разрушительные действия. Но, в отличие от способности к размножению, разрушение не является неотъемлемой функцией вируса. Хотя воздействие вируса на систему, программы, данные и аппаратуру могут быть весьма разнообразными, однако если в такой размножающейся программе есть ошибки, не предусмотренные ее автором, то последствия могут быть непредсказуемы. Кроме того, надо учитывать, что само размножение имеет следствием сокращение доступного дискового пространства и увеличение времени работы программ. Действия вируса ведут чаще всего к отказу от выполнения той или иной функции или к выполнению функции, не предусмотренной программой. При этом создается впечатление, что происходят программные сбои или ошибки оборудования. Это впечатление усиливается способностью вируса выдавать ложное сообщение или искусственно вызывать ошибки системы. Неправильные действия системы, как правило, замечаются пользователем и могут быть им прекращены для предотвращения катастрофических последствий. Если наблюдаемые действия вызваны именно вирусом, то нужно как можно быстрее прекратить работу на компьютере и провести проверку программ и оборудования. Подозрение на появление вируса возможно в следующих случаях: • отключения какой-то стандартной функции системного или прикладного программного обеспечения (например, отключение перезагрузки, которая при нормальной работе должна происходить после нажатия комбинации клавиш ); • проявления ошибок или сбоев при выполнении прежде стабильно работавших программ (например, переполнения буфера или деления на 0), самопроизвольной перегрузки или “зависания” операционной системы; • выполнения операций, не предусмотренных алгоритмом программы (например, изменение данных в файле, не санкционированное пользователем, в том числе шифрование); • изменения атрибутов файла (например, дата создания файла, его длина и т.п.); • разрушения файлов, отдельных управляющих блоков или самой файловой системы (несанкционированное форматирование жесткого диска, неожиданное исчезновение отдельных файлов и т.п.); • слишком частых обращений к диску; • появления ложных, раздражающих или отвлекающих сообщений; • блокирования доступа к системным ресурсам (исчерпание дискового пространства из-за многократного повторного заражения, отключение механизма передачи параметров в запускаемые программы, существенное замедление работы путем выполнения холостого цикла при каждом прерывании от системного таймера и т.п.); • появления на экране дисплея световых пятен, черных областей и других визуальных аномалий; • проявления звуковых или визуальных эффектов (например, “осыпание символов” на экране, замедление перерисовки объектов на экране, воспроизведение мелодии и т.п.); • имитации аппаратных отказов; • сообщений антивирусных средств. Наиболее распространенным разрушительным действием вируса является уничтожение информации (программ и данных). Труднее обнаружить не уничтожение, а изменение содержимого файла. Такие действия вируса особенно опасны, так как файлы могут быть существенно искажены, но заметить это удается слишком поздно. Например, вирус может заменить в файле данных все символы “5” на символы “7”. В этом случае искажение файла вызовет самые тяжелые последствия. Даже если такие искажения будут сразу обнаружены, потребуется значительное время, прежде чем эти данные можно будет снова нормально использовать. Вирусом могут быть вызваны изменения в программах, что порождает различные ошибки, сбои или отказы в работе программного обеспечения. Посредством изменения вирус способен разрушить аппаратные средства. Примером таких действий являются следующие события: • интенсивное использование плохо охлаждаемого элемента конструкции для вывода его из строя или возгорания в результате перегрева; • “прожигание” пятна на экране; • нарушение работы периферийного оборудования, в результате задания ему неправильных режимов функционирования; • низкоуровневое изменение системных областей жесткого диска, вследствие чего диск невозможно восстановить без специального оборудования. Важно иметь в виду, что вирус поражает определенные объекты, вторично их (как правило) не заражая, но зараженный объект сам становится источником информации. 14.2. Разрушающие программные средства Программными закладками называются своеобразные программы, использующие вирусную технологию скрытного внедрения, распространения и активизации. Однако, в отличие от вирусов, которые просто уничтожают информацию, программные закладки, прежде всего, предназначены для ее несанкционированного скрытного получения. Типичная программная закладка может, например, сохранять вводимую с клавиатуры информацию (в том числе и пароли) в нескольких зарезервированных для этого секторах, а затем пересылать накопленные данные по сети на компьютер злоумышленника. Программные закладки можно классифицировать по методу и месту их внедрения и применения (т.е. по способу доставки в систему). 1. Закладки, ассоциированные с программно-аппаратной средой. 2. Закладки, ассоциированные с программами первичной загрузки. 3. Закладки, ассоциированные с загрузкой драйверов, командного интерпретатора, сетевых драйверов, т.е. с загрузкой операционной среды. 4. Закладки, ассоциированные с прикладным программным обеспечением общего назначения (встроенные клавиатурные и экранные драйверы, программы тестирования ПЭВМ, утилиты и оболочки). 5. Используемые модули, содержащие только код закладки (как правило, внедряемые в пакетные файлы типа BAT). 6. Модули-имитаторы, совпадающие с некоторыми программами, требующими ввода конфиденциальной информации (по внешнему виду). 7. Закладки, маскируемые под программные средства оптимизационного назначения (архиваторы, ускорители и т.д.). 8. Закладки, маскируемые под программные средства игрового и развлекательного назначения (как правило, используются для первичного внедрения закладок типа “исследователь”). Для того чтобы закладка смогла выполнить какие-либо функции, она должна получить управление, т.е. процессор должен начать выполнять инструкции (команды), относящиеся к коду закладки. Это возможно только при одновременном выполнении двух условий: • закладка должна находиться в оперативной памяти до начала работы программы, которая является целью воздействия закладки, следовательно, она должна быть загружена раньше или одновременно с этой программой; • закладка должна активизироваться по некоторому общему, как для закладки, так и для программы, событию, т.е. при выполнении ряда условий в аппаратно-программной среде управление должно быть передано на программу-закладку. Это достигается путем анализа и обработки закладкой общих для закладки и прикладной программы воздействий (как правило, прерываний). Причем выбираются прерывания, которые наверняка используются прикладной программой или операционной системой. В качестве таких прерываний можно выделить: • прерывания от системного таймера; • прерывания от внешних устройств; • прерывания от клавиатуры; • прерывания при работе с диском; • прерывания операционной среды (в том числе прерывания для работы с файлами и запуска выполняемых модулей). В противном случае активизации кода закладки не произойдет, и он не сможет оказать какого-либо воздействия на работу программы ЗИ. Кроме того, возможны случаи, когда при запуске программы (в этом случае активизирующим событием является запуск программы) закладка разрушает некоторую часть кода программы, уже загруженной в оперативную память, и, возможно, систему контроля целостности кода или контроля иных событий и на этом заканчивает свою работу. Таким образом, можно выделить следующие типы закладок. 1. Резидентная — находится в памяти постоянно с некоторого момента времени до окончания сеанса работы ПЭВМ (выключения питания или перегрузки). Закладка может быть загружена в память при начальной загрузке ПЭВМ, загрузке операционной среды или запуске некоторой программы (которая по традиции называется вирусоносителем), а также запущена отдельно. 2. Нерезидентная — начинает работу по аналогичному событию, но заканчивают ее самостоятельно по истечению некоторого промежутка времени или некоторому событию, при этом выгружая себя из памяти целиком. Несанкционированная запись закладкой может происходить: • в массив данных, не совпадающий с пользовательской информацией (хищение информации); • в массив данных, совпадающий с пользовательской информацией и ее подмножества (искажение, уничтожение или навязывание информации закладкой). Следовательно, можно рассматривать три основные группы деструктивных функций, которые могут выполняться закладками: • сохранение фрагментов информации, возникающей при работе пользователя, прикладных программ, вводе/выводе данных, на локальном или сетевом диске; • разрушение функций самоконтроля или изменение алгоритмов функционирования прикладных программ; • навязывание некоторого режима работы (например, при уничтожении информации — блокирование записи на диск без уничтожения информации), либо навязывание посторонней информации вместо полезной информации при записи последней на диск. 14.3. Негативное воздействие закладки на программу 14.3.1. Сохранение фрагментов информации В этом случае можно выделить три основные причины потенциально возможного нарушения безопасности системы “пользователь — система защиты — данные”: • вывод информации на экран; • вывод информации в файл или иное внешнее устройство; • ввод информации с клавиатуры. Сохранение фрагментов вводимой и выводимой информации можно представить так. Программа выделяет себе в оперативной памяти некоторую информационную область, где помещается информация для обработки (как правило, доступная для непосредственного считывания: область экрана, клавиатурный буфер). Закладка определяет адрес информативной области программы (иногда этот адрес используется всеми программами и поэтому заранее известен). Далее необходимо анализировать события, связанные с работой прикладной программы или операционной среды, причем интерес представляют лишь события, результатом которых может стать появление интересующей информации в информативной области. Установив факт интересующего события, закладка переносит часть информативной области либо всю информативную область в свою область сохранения (непосредственно на диск или в выделенную область оперативной памяти). 14.3.2. Перехват вывода на экран Рассмотрим только текстовый режим вывода. Режим графического вывода будет отличаться лишь тем, что изменится адрес видеобуфера в программе, и информация будет представлена в виде точек с определенным цветом. В оперативной памяти ПЭВМ область видеобуфера имеет заранее известный фиксированный адрес. Видеобуфер, с точки зрения программы, представляет собой область обычной оперативной памяти, которая рассматривается как последовательность слов (16 бит) в формате: символ (8 бит) + цвет (8 бит). Выводимый на экран текст помещается в видеобуфер, откуда может быть считан и сохранен закладкой. Синхронизирующим событием в этом случае может быть: • ввод с клавиатуры длинной последовательности символов (обрабатываемого текста); • чтение из файла; • запуск программ с определенными именами. Кроме того, возможно периодическое сохранение области экранного буфера по сигналу от системного таймера. 14.3.3. Перехват ввода с клавиатуры Закладки, анализирующие ввод с клавиатуры, являются достаточно опасными, поскольку клавиатура является основным устройством управления и ввода информации. Через клавиатурный ввод можно получить информацию о вводимых конфиденциальных сообщениях (текстах), паролях и т.д. Перехват может производится двумя основными способами: • встраивание в цепочку прерывания int 9h; • анализом содержания клавиатурного порта или буфера по прерыванию от системного таймера. Работа закладки основывается на полном сохранении всех нажатий (отжатий) клавиш в файле. Файл затем изучается, и на его основе злоумышленник, пытавшийся получить доступ к зашифрованным файлам, восстанавливает возможные парольные последовательности. 14.3.4. Перехват и обработка файловых операций Программное средство защиты информации (ПСЗИ) производит некоторые файловые операции. Для этого открывается файл, часть его или весь файл считывается в буфер оперативной памяти, обрабатывается и затем записывается в файл с прежним или новым именем. Активизирующим событием в данном случае является, как правило, открытие файла (int 21h, функция 3Dh), либо его закрытие. Таким образом, закладка порождает в системе “исходный файл — ПСЗИ — выходной файл” новые связи, включая в них свои операции и массивы данных. Рассмотрим механизм работы закладки для DOS, которая встраивается в цепочку прерывания int 21h для следующих функций. • Открытие файла (функция 3Dh). Закладка отфильтровывает нужные имена или дескрипторы файлов. • Чтение из файла (функция 3Fh). Закладка выполняет прерывание по старому адресу указателя, затем сохраняет считанный буфер в собственный, обычно скрытый файл, либо исправляет в буфере некоторые байты файла, кроме того возможно влияние на результаты операции чтения. Данные действия особенно опасны для программ подтверждения подлинности электронных документов (электронная подпись). • Запись в файл (функция 40h). Закладка редактирует нужным образом буфер в оперативной памяти, либо сохраняет файл или часть его в скрытую область, а затем выполняет старое прерывание, в результате чего записывается файл с измененным содержанием, либо каким-то образом дублированный в скрытой области. Закладки такого типа могут навязывать истинность электронной подписи даже тогда, когда файл был изменен. 14.3.5. Разрушение программы защиты и схем контроля Допустим, что злоумышленнику известна интересующая его программа с точностью до команд реализации на конкретном процессоре. Следовательно, возможно смоделировать процесс ее загрузки и выяснить адреса частей программы относительно сегмента оперативной памяти, в которой она загружается. Это означает, что возможно произвольное изменение кода программы и обеспечение отклонения (как правило, негативного характера) в работе прикладной программы. Тогда алгоритм действия закладки может быть следующим. 1. Закладка загружается в память каким-либо образом. 2. Закладка осуществляет перехват (редактирование цепочки) одного или нескольких прерываний: • прерывание DOS “запуск программ и загрузка оверлеев” (int 21h, функция 4Bh); • прерывание BIOS “считать сектор” (int 13h, функция 02h); • прерывание от системного таймера (int 08h). 3. По одному из трех событий закладка получает управление на свой код и далее выполняет следующие операции: • проверка принадлежности запущенной программы или уже работающей (для таймерного прерывания) к интересующим программам; • определение сегмента, в который загружена программа; • запись относительно определенного сегмента загрузки некоторых значений в оперативную память так, чтобы отключить схемы контроля и (или) исправить программу нужным образом. Принципиальная возможность исправления кода следует из того, что вывод о правильности работы программы делается на основе операций сравнения в арифметико-логическом устройстве процессора. Сравнение результатов работы выполняется командой CMP, а результат сравнения изменяет один или несколько бит регистра флагов. Следовательно, того же результата можно добиться, изменив эти биты в одной из команд работы с регистром флагов типа CLD, CLS, LAHF и т.д. Наконец, возможен случай, когда содержательный код программы защиты вместе со схемой контроля будет удален из памяти полностью и все последующие операции будут выполнены без влияния программы защиты. Таким образом, анализируя в данном случае действия закладки, необходимо считать возможным любые искажения кода программ. Основным способом активизации разрушающих закладок является запуск ассоциированных с ними программ. При этом закладка получает управление первой и выполняет какие-либо действия (изменение адресов прерывания на собственные обработчики, исправление в коде программ защиты и т.д.). 14.4. Перехватчики паролей пользователей операционных систем Задача защиты информации, хранимой в компьютерных системах, от несанкционированного доступа, является весьма актуальной. Для решения этой задачи используется целый комплекс средств, включающий в себя технические, программно-аппаратные средства и административные меры защиты информации. По мере развития средств защиты компьютерных систем развиваются и средства нападения. Злоумышленники-хакеры изобретают все новые и новые атаки на различные элементы подсистем защиты компьютерных систем. Одной из наиболее опасных является атака защищенной системы посредством программных закладок. Основная опасность программных закладок заключается в том, что, программная закладка, являясь частью защищенной системы, способна принимать активные меры по маскировке своего присутствия в системе. При внедрении в систему закладки в защищенной системе создается скрытый канал информационного обмена, который, как правило, остается незамеченным для администраторов системы в течение длительного времени. Практически все известные программные закладки, применявшиеся в разное время различными злоумышленниками, были выявлены либо из-за ошибок, допущенных при программировании закладки, либо чисто случайно. Рассмотрим один из наиболее распространенных классов программных закладок – закладки, перехватывающие пароли пользователей операционных систем (перехватчики паролей). Перехватчики паролей были разработаны в разное время для целого ряда операционных систем, включая OS/370, MS-DOS и многих версий Windows и UNIX. Перехватчик паролей, внедренный в операционную систему, тем или иным способом получает доступ к паролям, вводимым пользователями при входе в систему. Перехватив очередной пароль, закладка записывает его в специальный файл или в любое другое место, доступное злоумышленнику, внедрившему закладку в систему. Перехватчики паролей представляют собой вполне реальную угрозу безопасности операционных систем. Защита от этой угрозы реализуется комплексом мер и средств, включающем в себя как программно-аппаратные средства, так и административные меры защиты. Для того, чтобы надежная защита от перехватчиков паролей могла быть построена, необходимо, чтобы операционная система поддерживала определенные возможности, затрудняющие функционирование перехватчиков паролей. Поскольку эти возможности поддерживаются не всеми операционными системами, не в любой операционной системе возможно построение эффективной защиты от перехватчиков паролей. Единственной операционной системой Microsoft, в которой построение такой защиты возможно, является Windows NT. Для организации надежной защиты от перехватчиков паролей в других операционных системах, включая MS-DOS, Windows 3.x, Windows 95, потребуется значительная работа по созданию дополнительных средств защиты. Однако даже в Windows NT невозможно построение эффективной защиты от перехватчиков паролей без использования дополнительных программных средств. В частности, необходимо дополнительное программное обеспечение, реализующее контроль целостности системных файлов и интерфейсных связей подсистемы аутентификации. Для того, чтобы защита от перехватчиков паролей была эффективной, политика безопасности, принятая в системе, должна удовлетворять следующим требованиям: 1. Конфигурирование цепочки программных модулей, участвующих в получении операционной системой пароля пользователя, доступно только администраторам системы. 2. Доступ на запись к файлам этих программных модулей предоставляется только администраторам системы. 3. Конфигурирование подсистемы аутентификации доступно только администраторам системы. 4. Доступ на запись к системным файлам предоставляется только администраторам системы. При организации защиты от перехватчиков паролей следует иметь в виду, что ни неукоснительное соблюдение адекватной политики безопасности, ни выполнение требований к программному обеспечению операционной системы, ни реализация в системе контроля целостности по отдельности не дают гарантий надежности защиты. Все эти меры должны приниматься в комплексе. Любая защита от перехватчиков паролей может быть надежной только при условии неукоснительного соблюдения администраторами системы адекватной политики безопасности. Учитывая, что: • администраторы, как и все люди, время от времени допускают ошибки в работе; • для внедрения в систему перехватчика паролей достаточно всего одной ошибки администратора; • перехватчик паролей после внедрения в систему получает возможность предпринимать активные меры по маскировке своего присутствия, построение абсолютно надежной защиты от перехватчиков паролей представляется практически невозможным. Здесь имеет место “борьба щита и меча”, когда для любой известной атаки может быть построена надежная защита от нее, и для любой известной защиты может быть реализована атака, позволяющая ее эффективно преодолевать. 14.5. Перехватчики паролей первого рода Перехватчики паролей первого рода действуют по следующему алгоритму. Злоумышленник запускает программу, которая имитирует приглашение пользователю для входа в систему и ждет ввода. Когда пользователь вводит имя и пароль, закладка сохраняет их в доступном злоумышленнику месте, после чего завершает работу и осуществляет выход из системы пользователя-злоумышленника (в большинстве операционных систем выход пользователя из системы можно осуществить программно). По окончании работы закладки на экране появляется настоящее приглашение для входа пользователя в систему. Пользователь, ставший жертвой закладки, видит, что он не вошел в систему, и что ему снова предлагается ввести имя и пароль. Пользователь предполагает, что при вводе пароля произошла ошибка, и вводит имя и пароль повторно. После этого пользователь входит в систему, и дальнейшая его работа протекает нормально. Некоторые закладки, функционирующие по данной схеме, перед завершением работы выдают на экран правдоподобное сообщение об ошибке, например: “Пароль введен неправильно. Попробуйте еще раз”. Основным достоинством этого класса перехватчиков паролей является то, что написание подобной программной закладки не требует от злоумышленника никакой специальной квалификации. Любой пользователь, умеющий программировать хотя бы на языке BASIC, может написать такую программу за считанные часы. Единственная проблема, которая может здесь возникнуть, заключается в программной реализации выхода пользователя из системы. Однако соответствующий системный вызов документирован для всех многопользовательских операционных систем. Если злоумышленник не поленится внимательно изучить документацию по операционной системе, то он решит данную проблему очень быстро. Перехватчики паролей первого рода представляют наибольшую опасность для тех операционных систем, в которых приглашение пользователю на вход имеет очень простой вид. Например, в большинстве версий ОС UNIX это приглашение выглядит следующим образом: login: user; password: … Задача создания программы, подделывающей такое приглашение, тривиальна. Защита от перехватчиков паролей первого рода. Усложнение внешнего вида приглашения на вход в систему несколько затрудняет решение задачи перехвата паролей, однако не создает для злоумышленника никаких принципиальных трудностей. Для того, чтобы существенно затруднить внедрение в систему перехватчиков паролей первого рода, необходимы более сложные меры защиты. Примером операционной системы, где такие меры реализованы, является Windows NT. В Windows NT обычная работа пользователя и аутентификация пользователя при входе в систему осуществляются на разных рабочих полях (desktops). Рабочее поле Windows NT представляет собой совокупность окон, одновременно видимых на экране. Только процессы, окна которых расположены на одном рабочем поле, могут взаимодействовать между собой, используя средства Windows GUI. Понятие рабочего поля Windows NT близко к понятию терминала UNIX. Процесс Winlogon, получающий от пользователя имя и пароль, выполняется на отдельном рабочем поле (рабочем поле аутентификации). Никакой другой процесс, в том числе и перехватчик паролей, не имеет доступа к этому рабочему полю. Поэтому приглашение пользователю на вход в систему, выводимое перехватчиком паролей первого рода, может располагаться только на рабочем поле прикладных программ, где выполняются все программ, запущенные пользователем. Переключение экрана компьютера с одного рабочего поля на другое производится при нажатии комбинации клавиш Ctrl-Alt-Del. Win32-подсистема Windows NT обрабатывает эту комбинацию по-особому – сообщение о нажатии Ctrl-Alt-Del посылается только процессу Winlogon. Для всех других процессов, в частности, для всех прикладных программ, запущенных пользователем, нажатие этой комбинации клавиш совершенно незаметно. При старте системы на экран компьютера вначале отображается рабочее поле аутентификации. Однако пользователь вводит имя и пароль не сразу, а только после нажатия Ctrl-Alt-Del. Когда пользователь завершает сеанс работы с системой, на экран также выводится рабочее поле аутентификации, и, так же как и в предыдущем случае, новый пользователь может ввести пароль для входа в систему только после нажатия Ctrl-Alt-Del. Если в систему внедрен перехватчик паролей первого рода, то, для того, чтобы он смог перехватить пароль пользователя, он должен, по крайней мере, обработать нажатие пользователем Ctrl-Alt-Del. В противном случае при нажатии пользователем этой комбинации клавиш произойдет переключение на рабочее поле аутентификации, рабочее поле прикладных программ станет неактивным, и перехватчик паролей просто не сможет ничего перехватить – сообщения о нажатии пользователем клавиш будут приходить на другое рабочее поле. Однако для всех прикладных программ факт нажатия пользователем Ctrl-Alt-Del всегда остается незамеченным. Поэтому пароль будет воспринят не программной закладкой, а процессом Winlogon. Конечно, перехватчик паролей может имитировать не первое приглашение операционной системы, где пользователю предлагается нажать Ctrl-Alt-Del, а то приглашение, которое высвечивается после нажатия пользователем этой комбинации. Однако в обычных условиях (при отсутствии программной закладки) это второе приглашение автоматически отменяется через достаточно короткое время (от 30 секунд до 1 минуты, в зависимости от версии Windows). Если второе приглашение присутствует на экране компьютера долгое время, этот факт должен насторожить пользователя. Кроме того, как показывает опыт, пользователи, долгое время работавшие с Windows NT, приобретают привычку начинать работу с системой с нажатия Ctrl-Alt-Del независимо от того, что отображается на экране. Защита Windows NT от перехватчиков паролей первого рода весьма надежна. При разработке мер защиты операционной системы от перехватчиков паролей первого рода следует ориентироваться на механизм, подобный вышеописанному. Следует обратить особое внимание на следующие два условия, выполнение которых обязательно для обеспечения надежной защиты от перехватчиков паролей первого рода: 1. Программа, получающая от пользователя имя и пароль при входе в систему, выполняется на изолированном терминале (терминале аутентификации), недоступном прикладным программам. 2. Факт переключения пользовательской консоли на терминал аутентификации незаметен прикладным программам. Прикладные программы не могут запретить переключение консоли на терминал аутентификации. Если операционная система не поддерживает эти возможности, защищенность системы от перехватчиков паролей первого рода можно повысить административными мерами. Каждый пользователь системы должен быть проинструктирован, что если он несколько раз подряд не может войти в систему с первого раза, он должен обратиться к администратору. 14.6. Перехватчики паролей второго рода. Перехватчики паролей второго рода перехватывают все данные, вводимые пользователем с клавиатуры. Простейшие программные закладки данного типа просто сбрасывают все эти данные на жесткий диск компьютера или в любое другое место, доступное злоумышленнику. Более совершенные закладки анализируют перехваченные данные и отсеивают информацию, заведомо не имеющую отношения к паролям. Несколько подобных закладок были в разное время написаны для операционной системы MS-DOS, некоторые из них использовались на практике, причем весьма эффективно. Эти закладки представляют собой резидентные программы, перехватывающие одно или несколько прерываний процессора, имеющих отношение к работе с клавиатурой. Информация о нажатой клавише и введенном символе, возвращаемая этими прерываниями, используется закладками для своих целей. В конце 1997 года на хакерских серверах Internet появились перехватчики паролей второго рода для Windows 3.x и Windows 95. В телеконференциях Internet (newsgroups) многократно встречались сообщения об атаках Windows перехватчиками паролей второго рода. Создание подобных программных закладок не связано со значительными трудностями. Программные интерфейсы Win16 и Win32 поддерживают специальный механизм фильтров (hooks), который может быть использован для перехвата паролей пользователей. С помощью этого механизма прикладные программы и сама операционная система решают целый ряд задач, в том числе и задачу поддержки национальных раскладок клавиатуры. Любой русификатор клавиатуры, работающий в среде Windows, перехватывает всю информацию, вводимую пользователем с клавиатуры, в том числе и пароли. Несложно написать русификатор так, чтобы он, помимо своих основных функций, выполнял бы и функции перехватчика паролей. Написание программы локализации клавиатуры является достаточно простой задачей. Во многих справочниках и учебниках по программированию эта задача подробно описана, в некоторых изданиях приведены исходные тексты простейшего русификатора клавиатуры. Более того, Windows поддерживает цепочки фильтров, с помощью которых несколько программ могут одновременно получать доступ к информации, вводимой с клавиатуры, и обрабатывать ее так, как считают нужным, при необходимости передавая обработанную информацию дальше по цепочке. Можно встроить перехватчик паролей в цепочку фильтров перед русификатором или после него, так, что вся информация, вводимая пользователем с клавиатуры, проходит и через русификатор, и через перехватчик паролей. В этом случае задача написания программной закладки, перехватывающей пароли пользователей Windows, становится настолько простой, что практически не требует от автора закладки специальной квалификации. Вообще, в большинстве случаев верно следующее утверждение. Если операционная система допускает переключение раскладки клавиатуры при вводе пароля, то для этой операционной системы можно написать перехватчик паролей второго рода. Действительно, если для операционной системы существует программа локализации раскладки клавиатуры, и если эта программа используется при вводе пароля, после незначительного изменения исходного текста эта программа превращается в перехватчик паролей второго рода. Если эта программа написана на языке C, в простейшем случае достаточно добавить в программу четыре оператора примерно следующего вида: StoreFile = fopen (FileName, "a+b"); fseek (StoreFile, 0, SEEK_END); fputc (NewSymbol, StoreFile); fclose (StoreFile); Для некоторых операционных систем можно обойтись тремя операторами. Защита от перехватчиков паролей второго рода. Для организации защиты от перехватчиков паролей второго рода необходимо добиться выполнения в операционной системе следующих трех условий: 1. Переключение раскладки клавиатуры в процессе ввода пароля невозможно. В противном случае задача создания перехватчика паролей второго рода существенно упрощается. 2. Конфигурирование цепочки программных модулей, участвующих в получении операционной системой пароля пользователя, доступно только администраторам системы. 3. Доступ на запись к файлам этих программных модулей предоставляется только администраторам системы. Для повышения устойчивости системы защиты к ошибкам администраторов можно сформулировать последнее условие следующим образом: Доступ на запись к файлам программных модулей, участвующих в получении пароля пользователя, не предоставляется никому. Доступ на запись к атрибутам защиты этих файлов предоставляется только администраторам. Любые обращения с целью записи к этим файлам, а также к их атрибутам защиты, регистрируются в системном журнале аудита. Если в системе выполняется третье условие во второй формулировке, администрирование операционной системы в части обслуживания клавиатуры (в частности, установка и изменение раскладок клавиатуры), несколько усложняется. Для того, чтобы перечисленные условия выполнялись, необходимо, чтобы подсистема защиты операционной системы поддерживала разграничение доступа и аудит. Для большинства современных операционных систем все условия, кроме первого, могут быть обеспечены организационными мерами. Первое условие в нерусскоязычных версиях операционных систем обычно выполняется автоматически. Для большинства русскоязычных версий операционных систем (в частности, для русской версии Windows NT 4.0) добиться выполнения этого условия невозможно – возможность создавать пользователей с русскими именами заложена в программное обеспечение операционных систем. Во всех англоязычных версиях Windows NT и всех версиях UNIX возможно создание и поддержание политики безопасности, при которой выполняются все три перечисленные условия. Если обеспечить выполнение первого условия в данной операционной системе невозможно, нужно добиться выполнения второго и третьего условий. Выполнение этих условий значительно повышает защищенность системы от перехватчиков паролей второго рода. 14.7. Перехватчики паролей третьего рода К перехватчикам паролей третьего рода относятся программные закладки, полностью или частично подменяющие собой подсистему аутентификации операционной системы. Поскольку задача создания такой программной закладки гораздо сложнее, чем задача создания перехватчика паролей первого или второго рода, этот класс программных закладок появился совсем недавно. Пока до сих пор документально не подтверждено существование ни одной программной закладки данного класса. Существуют несколько демонстрационных версий перехватчиков паролей третьего рода (для Windows NT). Случаи применения злоумышленниками перехватчиков паролей третьего рода пока не фиксировались. Перехватчик паролей третьего рода может быть написан для любой многопользовательской операционной системы. Сложность создания такого перехватчика паролей зависит от сложности алгоритмов, реализуемых подсистемой аутентификации, сложности интерфейса между ее отдельными модулями, а также от степени документированности подсистемы аутентификации операционной системы. В целом задача создания перехватчика паролей третьего рода гораздо сложнее задачи создания перехватчика паролей первого или второго рода. Видимо, этим и объясняется небольшое количество программных закладок данного класса. Однако, в связи со все более широким распространением операционных систем Microsoft Windows, содержащих достаточно мощные встроенные средства защиты от перехватчиков паролей первого и второго рода, массовое использование перехватчиков паролей третьего рода в целях осуществления несанкционированного доступа возможно в самом ближайшем будущем. Защита от перехватчиков паролей третьего рода. Поскольку перехватчики паролей третьего рода частично берут на себя функции подсистемы защиты операционной системы, перехватчик паролей третьего рода при внедрении в систему должен выполнить, по крайней мере, одно из следующих действий: • подменить собой один или несколько системных файлов; • внедриться в один или несколько системных файлов по одному из “вирусных” алгоритмов; • использовать поддерживаемые операционной системой интерфейсные связи между программными модулями подсистемы защиты для встраивания себя в цепочку программных модулей, обрабатывающих введенный пользователем пароль; • использовать для той же цели низкоуровневые интерфейсные связи операционной системы, используемые подсистемой защиты для решения своих задач. Каждое из этих действий оставляет в операционной системе следы, которые могут быть выявлены с помощью следующих мер защиты: 1. Соблюдение адекватной политики безопасности. Подсистема аутентификации должна быть самым защищенным местом операционной системы. Меры, необходимые для поддержания адекватной политики безопасности, сильно различаются для разных операционных систем. При соблюдении адекватной политики безопасности внедрение в систему перехватчика паролей третьего рода, как и любой другой программной закладки, невозможно. Однако, поскольку администраторы, как и все люди, склонны допускать ошибки в своей работе, поддержание адекватной политики безопасности в течение длительного времени представляется практически невыполнимой задачей. Кроме того, соблюдение адекватной политики безопасности защищает только от проникновения программной закладки в систему. Как только перехватчик паролей внедрен в систему, меры по поддержанию политики безопасности становится бессмысленными – при наличии в системе программной закладки политика безопасности не может быть адекватной, чтобы ни думали по этому поводу администраторы системы. Поэтому необходимы дополнительные меры защиты. 2. Контроль целостности исполняемых файлов операционной системы. Необходимо контролировать не только файлы, входящие в состав подсистемы защиты, но и библиотеки, содержащие низкоуровневые функции операционной системы. 3. Контроль целостности интерфейсных связей внутри подсистемы защиты, а также интерфейсных связей, используемых подсистемой защиты для решения низкоуровневых задач. Построение абсолютно надежной защиты против перехватчиков паролей третьего рода представляется невозможным. Поскольку машинный код перехватчиков паролей третьего рода выполняется не в контексте пользователя, а в контексте операционной системы, перехватчик паролей третьего рода может принимать меры, затрудняющие его обнаружение администраторами системы, в частности: • перехват системных вызовов, которые могут использоваться администраторами для выявления программной закладки в целях подмены возвращаемой информации; • фильтрация регистрируемых сообщений аудита. Здесь имеет место “борьба щита и меча”, когда для любой известной атаки может быть построена надежная защита от нее, и для любой известной защиты может быть реализована атака, позволяющая ее эффективно преодолевать. 14.8. Операционные системы Операционная система является важнейшим программным компонентом любой вычислительной машины, поэтому от уровня реализации политики безопасности в каждой конкретной ОС во многом зависит и общая безопасность информационной системы. В первую очередь нас будут интересовать безопасное разделение оперативной памяти и файлов между процессами и пользователями и устойчивость ОС к сетевым атакам. Операционная система MS-DOS является ОС реального режима микропроцессора Intel, а потому здесь не может идти речи о разделении оперативной памяти между процессами. Все резидентные программы и основная программа используют общее пространство ОЗУ. Защита файлов отсутствует, о сетевой безопасности трудно сказать что-либо определенное, поскольку на том этапе развития ПО драйверы для сетевого взаимодействия разрабатывались не фирмой Microsoft, а сторонними разработчиками. Семейство операционных систем Windows 95, 98, Millenium – это клоны, изначально ориентированные на работу в домашних ЭВМ. Эти операционные системы используют уровни привилегий защищенного режима, но не делают никаких дополнительных проверок и не поддерживают системы дескрипторов безопасности. В результате этого любое приложение может получить доступ ко всему объему доступной оперативной памяти, как с правами чтения, так и с правами записи. Меры сетевой безопасности присутствуют, однако, их реализация не на высоте. Более того, в версии Windows 95 была допущена основательная ошибка, позволяющая удаленно буквально за несколько пакетов приводить к "зависанию" ЭВМ, что также значительно подорвало репутацию ОС, в последующих версиях было сделано много шагов по улучшению сетевой безопасности этого клона. Направление операционных систем Windows NT, 2000, XP, Vista, Windows 7 – уже значительно более надежные разработки компании Microsoft. Они явялются действительно многопользовательскими системами, надежно защищающими файлы различных пользователей на жестком диске (правда, шифрование данных все же не производится и файлы можно без проблем прочитать, загрузившись с диска другой операционной системы – например, MS-DOS). Данные ОС активно используют возможности защищенного режима процессоров Intel, и могут надежно защитить данные и код процесса от других программ, если только он сам не захочет предоставлять к ним дополнительного доступа извне процесса. За долгое время разработки было учтено множество различных сетевых атак и ошибок в системе безопасности. Исправления к ним выходили в виде блоков обновлений (англ. service pack). Для Windows NT 4.0 самым последним было обновление "Service Pack 6", естественно все исправления, включенные в него, были учтены и при разработке Windows 2000. Та, в свою очередь, «получила» 4 обновления, Windows XP – три, Vista – одно и Windows 7 – тоже одно. Начиная с операционной системы Windows 2000 Microsoft в полном объеме реализовала инфраструктуру открытых ключей (PKI – Public Key Infrastructure). Эта инфраструктура представляет собой интегрированный набор служб и средств администрирования для создания и развертывания приложений, применяющих криптографию с открытыми ключами, а также для управления ими. Она позволяет разработчикам в среде Windows использовать механизмы безопасности как на основе шифрования с общим секретным ключом сессии (shared-secret security), так и на основе криптографии с открытым ключом. Пользователи также получают возможность управлять средой и приложениями с помощью согласованных между собой средств и политик. Укрупненная схема компонентов инфраструктуры открытых ключей операционной системы Windows (рис. 1) не связана с реальными серверами. На практике многие функции могут быть совмещены в системе с одним сервером. Главный элемент инфраструктуры открытого ключа – службы сертификации Microsoft Certificate Services. Они позволяют развернуть на предприятии один или несколько центров сертификации (ЦС). ЦС могут быть интегрированы со службой каталогов Active Directory, которая обеспечивает их информацией об учетных записях пользователей и политике ЦС, а также позволяет публиковать информацию о выпуске и отзыве сертификатов. Инфраструктура открытых ключей не заменяет существующие механизмы доверия и аутентификации доменов Windows, в основе которых лежат контроллер домена (DC – Domain Controller) и центр распределения ключей Kerberos (KDC – Key Distribution Center). Инфраструктура открытых ключей взаимодействует с этими службами, в частности, обеспечивает масштабируемые, распределенную аутентификацию, целостность и защиту данных. Рис. 1. Компоненты инфраструктуры открытых ключей операционной системы Microsoft Windows На всех рабочих станциях и серверах, которые работают под управлением операционных систем Windows NT (и выше), и на всех рабочих станциях, которые работают под управлением операционных систем Windows 95 (и выше) обеспечена поддержка приложений, использующих криптографию с открытыми ключами. На рис. 2 показана блок-схема служб, формирующих поддержку таких приложений. Краеугольный камень этих служб – криптографический интерфейс CryptoAPI 2.0. Он обеспечивает стандартный доступ к функциям криптографических модулей CSP (Cryptographic Service Provider). CSP могут быть программными или работающими совместно с аппаратными криптографическими устройствами. Они способны поддерживать разнообразные криптографические алгоритмы и степени защиты ключей. Выше уровня криптографических служб находится набор служб управления сертификатами. Они поддерживают сертификаты, соответствующие стандарту X.509 версии 3. Имеются также службы для обработки криптографических сообщений, поступающих в стандартных форматах. Эти службы поддерживают форматы PKCS, используемые для криптографии с открытыми ключами, развивающуюся инфраструктуру открытых ключей, определяемую рекомендациями IETF и использующую сертификаты X.509 (PKIX). Рис. 2. Службы поддержки приложений, использующих инфраструктуру открытых ключей Другие службы используют интерфейс CryptoAPI с целью обеспечения дополнительных возможностей разработчикам приложений. Защищенный канал (Schannel) поддерживает аутентификацию и шифрование передаваемых по сети данных с помощью протоколов TLS (Transport Layer Security) и SSL (Secure Sockets Layer), ставших отраслевыми стандартами. Доступ к этим функциям осуществляется через интерфейс WinInet для протокола HTTP (HTTPS) и через интерфейс SSPI для других протоколов. Технология Authenticode реализует механизмы создания электронной цифрой подпись компонентов и ее проверку. Она используется в основном для определения источника и целостности, загружаемых через Интернет компонентов, но может быть использована и в других целях. Поддерживаются также универсальные интерфейсы для смарт-карт. Они используются для интегрирования смарт-карт независимо от конкретных приложений и служат основой для системы регистрации в домене с помощью смарт-карт. Включенные в операционную систему Windows службы сертификации предоставляют предприятию средства для организации центров сертификации. Службы сертификации содержат применяемый по умолчанию, модуль политики, который можно использовать для выдачи сертификатов пользователям, компьютерам и службам. При этом выполняется идентификация объекта, отправившего запрос на сертификат, и проверка допустимости запрошенного сертификата в соответствии с политикой безопасности домена. Разработчики могут изменить этот модуль таким образом, чтобы он соответствовал другой политике, а также расширить поддержку ЦС для различных сценариев Интранета и Интернета. Другая ветвь клонов растет от операционной системы UNIX. Эта ОС изначально разрабатывалась как сетевая и многопользовательская, а потому сразу же содержала в себе средства информационной безопасности. Практически все широко распространенные клоны UNIX прошли долгий путь разработки и по мере модификации учли все открытые за это время способы атак. Достаточно себя зарекомендовали: LINUX (S.U.S.E.), OpenBSD, FreeBSD, Sun Solaris. Естественно все сказанное относится к последним версиям этих операционных систем. Основные ошибки в этих системах относятся уже не к ядру, которое работает безукоризненно, а к системным и прикладным утилитам. Наличие ошибок в них часто приводит к потере всего запаса прочности системы. 14.9. Прикладные программы Ошибки в прикладном программном обеспечении были и остаются основным путем проникновения злоумышленника как на сервера, так и на рабочие станции. Объективная причина этого – разработка подобного ПО различными группами разработчиков, которые просто не в состоянии уделить должного внимания сетевой и локальной безопасности своего продукта. И если фирмы-разработчики операционных систем тратят огромные суммы на тщательные испытания поведения их программ в нестандартных ситуациях, а также активно учитывают многолетний опыт своих же ошибок, то для небольших фирм это просто не под силу, да и крайне невыгодно экономически. Ошибки активно ищутся группами "хакеров" практически во всем более или менее распространенном ПО, однако, наибольшую известность приобретают, конечно, исследования программ, установленных почти у каждого пользователя. Так, например, в одной из версий Microsoft Internet Explorer'а была обнаружена ошибка, связанная с переполнением буфера, которая приводила к тому, что часть URL-адреса попадала на "исполнение" и трактовалась как последовательность команд процессора. При этом длины этого участка хватало, например, для того, чтобы загрузить на ЭВМ из сети троянскую программу и передать ей управление. В последующей версии ошибка была исправлена. Программа ICQ – самый популярный электронный пейджер в сети Интернет – в очередной своей версии была снабжена своими создателями возможностью поддерживать миниатюрный WWW-сервер. Однако, ошибка в его реализации позволяла при добавлении слева точек в имени первого каталога получать доступ ко всем файлам жесткого диска – открывался полный (!) сетевой доступ по чтению. Многие атаки используют не только непосредственные ошибки в реализации ПО, но и непродуманные разработчиками аспекты использования стандартных возможностей программы. Так, пожалуй, самым ярким примером этого являются MACRO-вирусы в документах системы Microsoft Office. Возможность исполнения макросов была встроена в эту систему из самых благих побуждений, но тот факт, что макросы могут запускаться на определенные события (например, открытие документа) и получать доступ на модификацию к другим документам, сразу же был использован создателями вирусов отнюдь не в благих целях. К подобным же примерам следует отнести возможность запуска исполнимых dll-файлов из hlp-файлов. Казалось бы, открывается безобидный текстовый файл справки, а оказывается он может честно инициировать вызов из прилагающейся dll-библиотеки да еще и безо всякого уведомления об этом пользователя. Моралью этого параграфа является правило "семь раз отмерь – один отрежь" на этапе разработки собственного программного обеспечения. 14.10. Ошибки, приводящие к возможности атак на информацию Двумя основными классами ошибок при разработке программного обеспечения, приводящими к потенциальной возможности проведения атак на информацию, являются интерференция данных и нарушение неявных ограничений. Интерференция (то есть непредусмотренное взаимодействие) данных между собой и данных с кодом является менее распространеным, но более опасным синдромом, чем описываемая ниже проблема ограничений по умолчанию. Практически единственным способом вызвать наслоение данных друг на друга либо данных на код программы является попытка дойти при операции записи до границы области памяти, отведенной под данный блок информации, и преодолеть ее – то есть умышленное переполнение буфера. Естественно, что это возможно только в тех ситуациях, когда программный код не производит проверки длины записываемого значения. Для целых и дробных чисел, значений времени и тому подобных типов данных запись производится всегда в фиксированном объеме (2 байта, 4 байта, 10 байт). А вот для строк и массивов данных проверки длины перед операциями записи необходимы. Для того, чтобы заставить ЭВМ выполнить код или записать данные туда, куда у него нет прав записи, злоумышленник специально заставляет систему обрабатывать строки очень большой длины, либо помещать в массив количество элементов большее, чем его объем. В случае успеха возможно либо попадание части строки в сегмент кода или стека с последующим исполнением, либо модификация каких-либо служебных данных, что позволит затем злоумышленнику войти в систему в обход системы защиты. Естественно, что содержимое конца строки (оказывающееся после переполнения буфера в ненадлежащей области памяти) подбирается специальным образом. Сами данные или строки можуг быть абсолютно бессмысленными. Проблема ограничений, которые разработчик программы считает само собо разумеющимися, но которые на самом деле могут не выполняться, встречается гораздо чаще, но реже приводит к каким-либо серьезным последствиям. Чаще всего результатом обработки подобных данных становится прерывание работы программы с сообщением об ошибке или просто "зависание". То есть данный класс атак используется с целью проведения атаки "отказ в сервисе". Спектр возможных ограничений, не продуманных на этапе разработке ПО, чрезвычайно широк. Это могут быть и отрицательное время или сумма платежа, и текстовое значение на месте ожидаемого числа, и строки, созданные целиком из управляющих символов, и, конечно же, пустые строки. Все это приводит к одному из главных правил разработки ПО: тщательно и полностью проверяйте те входные данные программы, которые поступают в нее от человека, либо передаются по каналу связи, незащищенному от модификации. 14.11. Основные положения по разработке ПО Общие рекомендации по написанию устойчиво работающих алгоритмов (необходимое, но не достаточное условие их информационной безопасности): 1. не используйте экзотические и недокументированные возможности языка программирования, если Вы не уверены в том, как они реализуются на самом деле; 2. оформляйте исходный текст ясно и четко, используйте необходимые комментарии; 3. используйте скобки для явного указания порядка операций: компилятор может оптимизировать выполнение выражений и начать, скажем, сложение F(1)+F(2)+F(3) со второго знака "+", тем самым, вызвав сначала функцию F от 2, затем от 3, а только затем от 1 – если в функции изменяются какие-либо глобальные переменные, это может привести к непредсказумым последствиям; 4. при всех удобных случаях используйте передачу параметров функции в качестве аргументов, а не в глобальных переменных; 5. используйте структурное программирование: разбивайте сложные блоки кода на процедуры с ясной структурой и легко контролируемым набором параметров; 6. никогда не создавайте недокументированные возможнности: технология "reverse engineering" – «реверсивная разработка», например, дизассемблирование и обратная компиляция – на сегодняшний день достигла огромных результатов, особенно в отношении высокоуровневых языков программирования; 7. закрывайте файлы сразу же по окончании работы с ними, а если Вы записываете важную информацию в течение долгого времени – периодически вызывайте функции сброса файлового буфера на дисковый накопитель; 8. проверяйте свободное место на диске перед записью в файл: некоторые операционные выдают ошибки при записи на переполненный диск нестандартным образом, результат этого может быть плачевным; 9. блокируйте файлы и наборы данных, если Вы обращаетесь к ним по записи из нескольких параллельно работающих процессов или программ; 10. старайтесь, как можно сильнее сократить время записи в совместно используемые файлы, а, следовательно, и время их блокирования; 11. не будьте заранее уверенными, что программа запущена из той директории, где расположен ее исполнимый файл, – одной из первых команд после запуска программы явно смените каталог на желаемый; 12. при работе с внешними и сетевыми устройствами и дисками стройте циклы ожидания таким образом, чтобы из них был возможен выход по истечении определенного периода ожидания ответа – тайм-аута; 13. очень тщательно разрабатывайте схему синхронизации паралелльно работающих с одними и теми же данными процессов; 14. тщательно проверяйте алгоритмы на синдром "мертвой петли" – это ситуация, когда процесс A, начав изменять объект 1 и заблокировав его в связи с этим, ожидает снятия блокирования с объекта 2; в то время как процесс B, в то же самое время начавший изменять объект 2 и, заблокировав его, ожидает снятия блокировки с объекта 1 – подобная проблема при такой схеме синхронизации теоретически неразрешима, единственный выход из нее – рассматривать объекты 1 и 2 как единое целое с возможностью только совместной блокировки; 15. аккуратно выделяйте и очищайте объекты в динамической памяти; 16. при необходимости используйте криптографию; 17. никогда не передавайте пароль открытым текстом; 18. используйте криптостойкие алгоритмы шифрования и хеширования; 19. вычищайте блоки оперативной памяти после того как информация (пароли, ключи, конфиденциальные данные), находившаяся в них, стала ненужной; 20. всегда проверяйте длины строк и массивов перед началом работы с ними; 21. встраивайте в Ваши системы требование регистрации каждого оператора с уникальным паролем и записью как можно большего количества информации о сеансе в лог-файл, недоступный для изменения операторам; 22. тщательно тестируйте Ваши приложения, в том числе на больших и неправильных входных данных. ================================================================================== ВОПРОСЫ: 1. Вирусные методы разрушения информации 2. Разрушающие программные средства 3. Негативное воздействие закладки на программу 4. Перехватчики паролей пользователей операционных систем 5. Перехватчики паролей первого рода и защита от них 6. Перехватчики паролей второго рода и защита от них 7. Перехватчики паролей третьего рода и защита от них 8. Безопасность операционных систем 9. Безопасность прикладных программ 10. Ошибки, приводящие к возможности атак на информацию 11. Основные положения по разработке разработке программного обеспечения с точки зрения информационной безопасности 15. Комплексная система безопасности 15.1. Классификации информационной безопасности 15.1.1. Классификация по уровню конфиденциальности Уровень конфиденциальности информации является одной из самых важных категорий, принимаемых в рассмотрение при создании определенной политики безопасности учреждения. Предлагается следующая схема классификации информации на 4 класса по уровню ее конфиденциальности. Класс Тип информации Описание Примеры открытая информация общедоступная информация информационные брошюры, сведения публикававшиеся в СМИ 1 внутренняя информация информация, недоступная в открытом виде, но не несущая никакой опасности при ее раскрытии финансовые отчеты и тестовая информация за давно прошедшие периоды, отчеты об обычных заседаниях и встречах, внутренний телефонный справочник фирмы 2 конфиденциальная информация раскрытие информации ведет к значительным потерям на рынке реальные финансовые данные, планы, проекты, полный набор сведений о клиентах, информация о бывших и нынешних проектах с нарушениями этических норм 3 секретная информация раскрытие информации приведет к финансовой гибели компании (зависит от ситуации) 15.1.2. Классификация по требуемой степени безотказности Безотказность, или надежность доступа к информации, является одной из категорий информационной безопасности. Предлагается следующая схема классификации информации на 4 уровня безотказности. Параметр класс 0 класс 1 класс 2 класс 3 Максимально возможное непрерывное время отказа 1 неделя 1 сутки 1 час 1 час Когда время отказа не может превышать указанное выше? в рабочее время в рабочее время в рабочее время 24 часа в сутки Средняя вероятность доступности данных в произвольный момент времени 80% 95% 99.5% 99.9% Среднее максимальное время отказа 1 день в неделю 2 часа в неделю 20 минут в неделю 12 минут в месяц 15.2. Требования по работе с конфиденциальной информацией При работе с информацией 1-го класса конфиденциальности рекомендуется выполнение следующих требований: • осведомление сотрудников о закрытости данной информации; • общее ознакомление сотрудников с основными возможными методами атак на информацию; • ограничение физического доступа; • полный набор документации по правилам выполнения операций с данной информацией. При работе с информацией 2-го класса конфиденциальности к перечисленным выше требованиям добавляются следующие: • расчет рисков атак на информацию; • поддержания списка лиц, имеющих доступ к данной информации; • по возможности выдача подобной информации по расписку (в т.ч. электронную); • автоматическая система проверки целостности системы и ее средств безопасности; • надежные схемы физической транспортировки; • обязательное шифрование при передаче по линиям связи; • схема бесперебойного питания ЭВМ. При работе с информацией 3-го класса конфиденциальности ко всем перечисленным выше требованиям добавляются следующие: • детальный план спасения либо надежного уничтожения информации в аварийных ситуациях (пожар, наводнение, взрыв); • защита ЭВМ либо носителей информации от повреждения водой и высокой температурой; • криптографическая проверка целостности информации. 15.3. Политика ролей Функции каждого человека, так или иначе связанного с конфиденциальной информацией на предприятии, можно классифицировать и в некотором приближении формализовать. Подобное общее описание функций оператора носит название роли. В зависимости от размеров предприятия некоторые из перечисленных ниже ролей могут отсутствовать вообще, а некоторые могут совмещаться одним и тем же физическим лицом. Специалист по информационной безопасности играет основную роль в разработке и поддержании политики безопасности предприятия. Он проводит расчет и перерасчет рисков, отвественен за поиск самой свежей информации об обнаруженных уязвимостях в используемом в фирме программном обеспечении и в целом в стандартных алгоритмах. Владелец информации – лицо, непосредственно работающее с данной информацией, (не нужно путать с оператором). Зачастую только он в состоянии реально оценить класс обрабатываемой информации, а иногда и рассказать о нестандартных методах атак на нее (узкоспецифичных для этого вида данных). Владелец информации не должен участвовать в аудите системы безопасности. Поставщик аппаратного и программного обеспечения. Обычно стороннее лицо, которое несет ответственность перед фирмой за поддержание должного уровня информационной безопасности в поставляемых им продуктов. Разработчик системы и/или программного обеспечения играет основную роль в уровне безопасности разрабатываемой системы. На этапах планирования и разработки должен активно взаимодействовать со специалистами по информационной безопасности. Линейный менеджер или менеджер отдела является промежуточным звеном между операторами и специалистами по информационной безопасности. Его задача – своевременно и качественно инструктировать подчиненный ему персонал обо всех требованиях службы безопасности и следить за ее их выполнением на рабочих местах. Линейные менеджеры должны быть осведомлены о всей политике безопасности предприятия, но доводить до сведения подчиненных только те ее аспекты, которые непосредственно их касаются. Операторы – лица, отвественные только за свои поступки. Они не принимают никаких решений и ни за кем не наблюдают. Они должны быть осведомлены о классе конфиденциальности информации, с которой они работают, и о том, какой ущерб будет нанесен фирмы при ее раскрытии. Аудиторы – внешние специалисты или фирмы, нанимаемые предприятием для периодической (довольно редкой) проверки организации и функционирования всей системы безопасности. 15.4. Создание политики информационной безопасности Политика безопасности – это комплекс превентивных мер по защите конфиденциальных данных и информационных процессов на предприятии. Политика безопасности включает в себя требования в адрес персонала, менеджеров и технических служб. Основные направления разработки политики безопасности: • определение – какие данные и насколько серьезно необходимо защищать; • определение – кто и какой ущерб может нанести фирме в информационном аспекте; • вычисление рисков и определение схемы уменьшения их до приемлимой величины. Существуют две системы оценки текущей ситуации в области информационной безопасности на предприятии. Они получили образные названия "исследование снизу вверх" и "исследование сверху вниз". Первый метод достаточно прост, требует намного меньших капитальных вложений, но и обладает меньшими возможностями. Он основан на известной схеме: "Вы – злоумышленник. Ваши действия?". То есть служба информационной безопасности, основываясь на данных обо всех известных видах атак, пытается применить их на практике с целью проверки, а возможно ли такая атака со стороны реального злоумышленника. Метод "сверху вниз" представляет собой, наоборот, детальный анализ всей существующей схемы хранения и обработки информации. Первым этапом этого метода является, как и всегда, определение, какие информационные объекты и потоки необходимо защищать. Далее следует изучение текущего состояния системы информационной безопасности с целью определения, что из классических методик защиты ифнормации уже реализовано, в каком объеме и на каком уровне. На третьем этап производится классификация всех информационных объектов на классы в соответствии с ее конфиденциальностью, требованиями к доступности и целостности (неизменности). Далее, следует выяснение, насколько серьезный ущерб может принести фирме раскрытие или иная атака на каждый конкретный информационный объект. Этот этап носит название "вычисление рисков". В первом приближении риском называется произведение "возможного ущерба от атаки" на "вероятность такой атаки". Существует множество схем вычисления рисков, остановимся на одной из самых простых. Ущерб от атаки может быть представлен неотрицательным числом в приблизительном соответствии со следующей таблицей: Величина Описание Раскрытие информации принесет ничтожный моральный и финансовый ущерб фирме 1 Ущерб от атки есть, но он незначителен, основные финансовые операции и положение фирмы на рынке не затронуты 2 Финансовые операции не ведутся в течение некоторого времени, за это время фирма терпит убытки, но ее положение на рынке и количество клиентов изменяются минимально 3 Значительные потери на рынке и в прибыли. От фирмы уходит ощутимая часть клиентов 4 Потери очень значительны, фирма на период до года теряет положение на рынке. Для восстановления положения требуются крупные финансовые займы. 5 Фирма прекращает существование Вероятность атаки представляется неотрицательным числом в приблизительном соответствии со следующей таблицей: Вероятность Средняя частота появления Данный вид атаки отсутствует 1 реже, чем раз в год 2 около 1 раза в год 3 около 1 раза в месяц 4 около 1 раза в неделю 5 практически ежедневно Необходимо отметить, что классификацию ущерба, наносимого атакой, должен оценивать владелец информации, или работающий с нею персонал. А вот оценку вероятности появления атаки лучше доверять техническим сотрудникам фирмы. Следующим этапом составляется таблица рисков предприятия. Она имеет следующий вид: Описание атаки Ущерб Вероятность Риск (=Ущерб*Вероятность) Спам (переполнение почтового ящика) 1 4 4 Копирование жесткого диска из центрального офиса 3 1 3 ... ... ... 2 Итого: 9 На этапе анализа таблицы рисков задаются некоторым максимально допустимым риском, например значением 7. Сначала проверяется каждая строка таблицы на не превышение риска этого значения. Если такое превышение имеет место, значит, данная строка – это одна из первоочередных целей разработки политики безопасности. Затем производится сравнение удвоенного значения (в нашем случае 7*2=14) с интегральным риском (ячейка "Итого"). Если интегральный риск превышает допустимое значение, значит, в системе набирается множество мелких огрешностей в системе безопасности, которые в сумме не дадут предприятию эффективно работать. В этом случае из строк выбираются те, которые дает самый значительный вклад в значение интегрального риска и производится попытка их уменьшить или устранить полностью. На самом ответственном этапе производится собственно разработка политики безопасности предприятия, которая обеспечит надлежащие уровни как отдельных рисков, так и интегрального риска. При ее разработке необходимо, однако, учитывать объективные проблемы, которые могут встать на пути реализации политики безопасности. Такими проблемами могут стать законы страны и международного сообщества, внутренние требования корпорации, этические нормы общества. После описания всех технических и административных мер, планируемых к реализации, производится расчет экономической стоимости данной программы. В том случае, когда финансовые вложения в программу безопасности являются неприемлимыми или просто экономически невыгодными по сравнению с потенциальным ущербом от атак, производится возврат на уровень, где мы задавались максимально допустимым риском 7 и увеличение его на один или два пункта. Завершается разработка политики безопасности ее утверждением у руководства фирмы и детальным документированием. За этим должна следовать активная реализация всех указанных в плане компонентов. Перерасчет таблицы рисков и, как следствие, модификация политики безопасности фирмы чаще всего производится раз в два года. 15.5. Методы обеспечения безотказности Методы поддержания безотказности являются смежной областью в схемах комплексной информационной безопасности предприятия. Основным методом в этой сфере является внесение избыточности. Она может реализовываться в системе на трех уровнях: уровне данных (или информации), уровне сервисов (или приложений) и уровне аппаратного обеспечения. Внесение избыточности на уровне данных практикуется достаточно давно: это резервное копирование и помехоустойчивое кодирование. Резервное копирование выполняется обычно при хранении информации на современных запоминающих устройствах (поскольку для них в аварийной ситуации характерен выход из строя больших блоков данных целиком – трудновосстановимое с помощью помехоустойчивого кодирование повреждение). А вот использование кодов с обнаружением и некоторым потенциалом для исправления ошибок получило широкое применение в средствах телекоммуникации. Внесение избыточности на уровне приложений используется гораздо реже. Однако, многие, особенно сетевые, службы изначально поддерживают возможность работы с резервным или вообще с неограниченным заранее неизвестным количеством альтернативных служб. Введение такой возможности рекомендуется при разработке программного обеспечения, однако, сам процесс автоматического переключения на альтернативную службу должен подтвержаться криптографическим обменом первоначальной (установочной) информацией. Это необходимо делать для того, чтобы злоумышленник не мог, выведя из строя реальный сервис, навязать Вашей программе свой сервис с фальсифицированной информацией. Внесение избыточности на аппаратном уровне реализуется обычно в отношении периферийных устройств (накопители на гибких и жестких дисках, сетевые и видеоадаптеры, мониторы, устройства ввода информации от пользователя). Это связано с тем, что дублирование работы основных компонентов ЭВМ (процессора, ОЗУ) гораздо проще выполнить, установив просто полноценную дублирующую ЭВМ с теми же функциями. Для автоматического определения работоспособности ЭВМ в программное обеспечение встраиваются: • проверка контрольных сумм информации; • тестовые примеры с заведомо известным результатом, запускаемые время от времени; • монтирование трех и более дублирующих устройств и сверка их выходных результаты по мажоритарному правилу (каких результатов больше – те и есть правильные, а машины, выдавшие не такие результаты, выведены из строя). 15.6. Признаки уязвимых мест Следующие признаки могут свидетельствовать о наличии уязвимых мест в информационной безопасности. 1. Не разработано положений о защите информации или они не соблюдаются. 2. Не назначен ответственный за информационную безопасность. 3. Пароли пишутся на компьютерных терминалах, помещаются в общедоступные места, ими делятся с другими, или они появляются на компьютерном экране при их вводе. 4. Удаленные терминалы и микрокомпьютеры оставляются без присмотра в рабочие и нерабочие часы. Данные отображаются на компьютерных экранах, оставленных без присмотра. 5. Не существует ограничений на доступ к информации, или на характер ее использования. Все пользователи имеют доступ ко всей информации и могут использовать все функции системы. 6. Не ведется системных журналов, и не хранится информация о том, кто и для чего использует компьютер. 7. Изменения в программы могут вноситься без их предварительного утверждения руководством. 8. Отсутствует документация или она не позволяет делать следующее: • понимать получаемые отчеты и формулы, по которым получаются результаты; • модифицировать программы; • готовить данные для ввода; • исправлять ошибки; • производить оценку мер защиты; • понимать сами данные, их источники, формат хранения, взаимосвязи между ними. 9. Делаются многочисленные попытки войти в систему с неправильными паролями. 10. Вводимые данные не проверяются на корректность и точность, или при их проверке много данных отвергается из-за ошибок в них, требуется сделать много исправлений в данных, не делается записей в журналах об отвергнутых транзакциях. 11. Имеют место выходы из строя системы, приносящие большие убытки. 12. Не производился анализ информации, обрабатываемой в компьютере, с целью определения необходимого для нее уровня безопасности. 13. Мало внимания уделяется информационной безопасности. Хотя политика безопасности и существует, большинство людей считает, что на самом деле она не нужна. Следующие признаки могут указывать на наличие уязвимых мест в физической безопасности: 1. Разрешено курить, есть и пить рядом с компьютерами. 2. Компьютерное оборудование оставляется в незапертых комнатах или является незащищенным по какой-либо другой причине. 3. Не установлена пожарная сигнализация. 4. Диски оставляются в ящиках столов, не делается архивных копий дисков. 5. Посетителям не задается вопросов о причине их нахождения в помещениях, где установлены компьютеры. 6. Реестр компьютерного оборудования и программ отсутствует, не полон, не обновляется или не проверяется после его заполнения. 7. Распечатки, микрофиши, диски, содержащие критические данные, выбрасываются в обычное мусорное ведро. 8. Замки на входах в помещения, где находится компьютерное оборудование, никогда не менялись. 9. Не производилось аттестации автоматизированной системы организации, то есть анализа насколько она уязвима к доступу неавторизованных людей, пожару или наводнению. 15.7. Виды защиты информации 15.7.1. Физическая защита Физический доступ к носителю информации, как правило, дает возможность получить доступ и к самой информации. Воспрепятствовать в таком случае может лишь криптография, да и то не всегда. Например, если злоумышленник получил физический доступ к компьютеру, на котором хранятся секретные данные в зашифрованном виде, он может считать свою задачу выполненной. Он устанавливает на компьютер резидентную программу, которая перехватывает информацию в процессе ее зашифровки или расшифровки. Прежде всего, следует позаботиться о физической сохранности вашей компьютерной техники и носителей. Наиболее сложно осуществить физическую защиту линий связи. Если ваши провода проходят вне охраняемого объекта, то все передаваемые по ним данные должны априори считаться известными противнику. 15.7.2. Электромагнитная защита Практически любой электронный прибор как сам излучает электромагнитные колебания, так и может воспринимать электромагнитные поля извне. При помощи таких полей возможен как дистанционный съём информации с ваших компьютеров, так и целенаправленное воздействие на них. Электромагнитные поля могут быть экранированы любым проводящим материалом. Металлический корпус, металлическая сетка, обёртка из фольги станут защитой от электромагнитных волн. Разумется, экранировать помещение будет очень дорого. При решении такого вопроса главным станет фактор экономической целесообразности защиты, о котором говорилось выше. Здесь будет уместно привести один экзотический случай из практики промышленного шпионажа двадцатилетней давности. Охотники до чужих секретов ухитрились снять секретную информацию буквально с воздуха. Они установили прослушивание помещения, где обрабатывались секретные документы. В те времена пользовались литерными печатающими устройствами. "Треск" работы таких принтеров достаточно легко удалось расшифровать и получить, таким образом, доступ ко всем распечатываемым документам. 15.7.3. Криптографическая защита Данный вид защиты подробно рассматривался ранее. 15.7.4. Защита от человеческого фактора Как правило, человек является наименее надёжным звеном в системе ЗИ. Из всех известных удачных попыток преступлений в сфере компьютерной информации подавляющее большинство было совершено при помощи сообщников в учреждении, которое подвергалось атаке. Как возможно защититься от угроз со стороны собственных сотрудников, автор курса не знает. Решение такой задачи, если и возможно, то лежит в совершенно иной области. Единственное, что можно порекомендовать в рамках данного курса – попытаться свести к минимуму человеческий фактор в системах ЗИ. 15.7.5. Активная защита Этот вид защиты – самый эффективный в тех случаях, когда точно известен источник угрозы для вашей информации. Если это так, то предпринимаются активные мероприятия против попыток получить доступ к вашей информации. Например, следующие: • поиск и выведение из строя устройств для скрытого съёма вашей информации; • выявление и задержание лиц, устанавливающих такие устройства или совершающих иные незаконные действия по доступу к вашей информации; • выявление возможных каналов утечки или несанкционированного доступа к вашей информации и направление по таким каналам дезинформации; • создание ложных потоков информации с целью маскировки истинных потоков и отвлечения сил противника на их дешифровку; • демонстрации противнику возможностей вашей защиты (не обязательно истинных) для создания у него впечатления бесперспективности преодолеть вашу защиту; • контрразведывательные мероприятия с целью получить сведения о том, как именно противник получает доступ к вашей информации и соответствующего противодействия. 15.8. Преодоление защиты информации 15.8.1. Экономическая целесообразность преодоления защиты Планируя мероприятия по преодолению защиты информации, первое, что нужно сделать, это оценить возможные затраты. Очень часто бывает, что после этого всё заканчивается. Грамотно организованная защита стоит на порядок-два меньше, чем обойдётся её «взлом». Как правило, браться за преодоление защиты стоит лишь тогда, когда имеются существенные недостатки в её организации. Кроме материального аспекта существует также временной. Многие виды информации через определённое время теряют свою актуальность и, следовательно, ценность. В этом случае применяются меры защиты, которые практически преодолимы, но для этого потребуется время, превышающее срок актуальности. 15.8.2. Наиболее распространённые «дыры» в защите Если рассматривать защиту в отрыве от «человеческого фактора», о котором было уже сказано выше, то наиболее распространённые недостатки в технической реализации защиты информации следующие. • Использование некриптостойких программных средств, поскольку стойкие – дороги, не слишком удобны в обращении и, как правило, запрещены к продаже или экспорту. Например, система шифровки паролей в ОС UNIX не выдерживает серьёзной криптоатаки. Есть даже общедоступная программа, которая расшифровывает такие пароли. Поставить более надёжный шифр разработчикам мешает экспортное законодательство. • Применение пользователями слишком простых паролей, которые легко подбираются или угадываются. Некоторые системы, прежде чем принять новый пароль, анализируют его на стойкость, но большинство не имеет даже такой защиты. • Нарушение правила «сплошной» защиты, когда один из этапов прохождения и хранения информации не защищён или защищён недостаточно. Например, программа PGP достаточно надёжно может шифровать файлы, однако первоначальный, незашифрованный вариант текста, который после шифровки удаляется обычной командой delete, может быть восстановлен с диска либо извлечён из своп-файла. С другой стороны стоит рассмотреть основные методы, использовавшиеся для совершения компьютерных преступлений. Они включают: 1. Надувательство с данными. Наверное, самый распространенный метод при совершении компьютерных преступлений, так как он не требует технических знаний и относительно безопасен. Информация меняется в процессе ее ввода в компьютер или во время вывода. Например, при вводе документы могут быть заменены фальшивыми, вместо рабочих дискет подсунуты чужие, и данные могут быть сфальсифицированы. 2. Сканирование. Другой распространенный метод получения информации, который может привести к преступлению. Служащие, читающие файлы других, могут обнаружить там персональную информацию о своих коллегах. Информация, позволяющая получить доступ к компьютерным файлам или изменить их, может быть найдена после просмотра мусорных корзин. Дискеты, оставленные на столе, могут быть прочитаны, скопированы, и украдены. Очень хитрый сканирующий может даже просматривать остаточную информацию, оставшуюся на компьютере или на носителе информации после выполнения сотрудником задания и удаления своих файлов. 3. Троянский конь. Этот метод предполагает, что пользователь не заметил, что компьютерная программа была изменена таким образом, что включает в себя дополнительные функции. Программа, выполняющая полезные функции, пишется таким образом, что содержит дополнительные скрытые функции, которые будут использовать особенности механизмов защиты системы (возможности пользователя, запустившего программу, по доступу к файлам). 4. Люк. Этот метод основан на использовании скрытого программного или аппаратного механизма, позволяющего обойти методы защиты в системе. Этот механизм активируется некоторым неочевидным образом. Иногда программа пишется таким образом, что специфическое событие, например, число транзакций, обработанных в определенный день, вызовет запуск неавторизованного механизма. 5. Технология «салями». Названа так из-за того, что преступление совершается понемногу, небольшими частями, настолько маленькими, что они незаметны. Обычно эта технология сопровождается изменением компьютерной программы. Например, платежи могут округляться до нескольких центов, и разница между реальной и округленной суммой поступать на специально открытый счет злоумышленника. 6. Суперотключение. Названа по имени программы, использовавшейся в ряде компьютерных центров, обходившей системные меры защиты и использовавшейся при аварийных ситуациях. Владение этим "мастер-ключом" дает возможность в любое время получить доступ к компьютеру и информации, находящейся в нем. 15.9. Подходы к созданию комплексной системы защиты информации Для рассмотрения проблемы ЗИ в общем виде выделим в ее предметной области три следующие иерархии: структурную, причинно-следственную и функциональную. Способы ЗИ зависят от типа информации, формы ее хранения, обработки и передачи, типа носителя информации, а также предполагаемого способа нападения и последствий его по влиянию на информацию (копирование, искажение, уничтожение). В основном владелец информации не знает где, когда и каким образом будет осуществлено нападение, поэтому ему необходимо обнаружить сам факт нападения. Определение потенциальной ценности информации позволяет подумать в первую очередь о безопасности наиболее важных секретов, утечка которых способна нанести ущерб. При этом важно установить. 1. Какая информация нуждается в защите? 2. Кого она может интересовать? 3. Какие элементы информации наиболее ценные? 4. Каков “срок жизни” этих секретов? 5. Во что обойдется их защита? Опыт применения систем ЗИ (СЗИ) показывает, что эффективной может быть лишь комплексная система защиты информации (КСЗИ), сочетающая следующие меры: 1. Законодательные. Использование законодательных актов, регламентирующих права и обязанности физических и юридических лиц, а также государства в области ЗИ. 2. Морально-этические. Создание и поддержание на объекте такой моральной атмосферы, в которой нарушение регламентированных правил поведения оценивалось бы большинством сотрудников резко негативно. 3. Физические. Создание физических препятствий для доступа посторонних лиц к охраняемой информации. 4. Административные. Организация соответствующего режима секретности, пропускного и внутреннего режима. 5. Технические. Применение электронных и других устройств для ЗИ. 6. Криптографические. Применение шифрования и кодирования для сокрытия обрабатываемой и передаваемой информации от несанкционированного доступа. 7. Программные. Применение программных средств разграничения доступа. Обоснованный выбор требуемого уровня защиты информации является системообразующей задачей, поскольку как занижение, так и завышение уровня неизбежно ведет к потерям. При этом в последнее время роль данного вопроса резко возросла в связи с тем, что, во-первых, теперь в число защищаемых помимо военных, государственных и ведомственных, включены также секреты промышленные, коммерческие и даже личные, а во-вторых, сама информация все больше становиться товаром. Таким образом, для оценки информации необходимы показатели двух видов: • характеризующие информацию как ресурс, обеспечивающий деятельность общества; • характеризующие информацию как объект труда. Показатели первого вида носят прагматический характер. К ним относят важность, значимость с точки зрения тех задач, для решения которых используется оцениваемая информация; полнота информации для информационного обеспечения решаемых задач; адекватность, т.е. соответствие текущему состоянию соответствующих объектов или процессов; релевантность информации и ее толерантность. Показатели второго вида должны характеризовать информацию как объект труда, над которым осуществляются некоторые процедуры в процессе переработки ее с целью информационного обеспечения решаемых задач. К ним относятся: эффективность кодирования информации и ее объем. Методы определения этих показателей достаточно полно разработаны в теории информации. 15.10. Показатели оценки информации как ресурса Важность информации должна оцениваться по двум группам критериев (рис. 1): • по назначению информации; • по условиям ее обработки. В первой группе следует выделить два критерия: • важность самих задач для обеспечения деятельности, • степень важности информации для эффективного решения соответствующей задачи. Во второй группе выделяются два составных критерия: • уровень потерь в случае нежелательных изменений информации в процессе обработки под воздействием дестабилизирующих факторов, • уровень затрат на восстановление нарушенной информации. Рис. 1. Критерии оценки важности информации Если обозначить: Кви — коэффициент важности информации; Квз — коэффициент важности тех задач, для обеспечения которых используется информация; Киз — коэффициент важности оцениваемой информации для эффективного решения задач; Кпи — коэффициент важности оцениваемой информации с точки зрения потерь при нарушении ее качества; Ксв — коэффициент важности информации с точки зрения стоимости восстановления ее качества. Тогда получим: Кви = f (Квз, Киз, Кпи, Ксв) Иначе говоря, для оценки важности информации необходимо уметь определять значения перечисленных выше коэффициентов и знать вид функциональной зависимости Кви. Но на сегодняшний день неизвестно ни то, ни другое, и есть веские основания утверждать, что и в ближайшем будущем эта проблема не будет решена. Однако иногда для этих целей для конкретной информации и конкретных условий можно использовать подход, основанный на неформально-эвристических методах. Полнота информации — это показатель, характеризующий меру достаточности оцениваемой информации для решения соответствующих задач. Отсюда следует, что и этот показатель, так же как и предыдущий, является относительным: полнота информации оценивается относительно вполне определенной задачи или группы задач. Поэтому чтобы иметь возможность определить показатель полноты информации, необходимо для каждой существенно значимой задачи или группы задач составить перечень тех сведений, которые необходимы для их решения. Для предоставления таких сведений удобно использовать так называемые объективно-характеристические таблицы, которые представляют из себя двухмерные матрицы. У них по строкам приведен перечень наименований тех объектов, процессов или явлений, которые входят в круг интересов соответствующей задачи, а по столбцам — наименование тех характеристик (параметров) объектов, процессов или явлений, значения которых необходимы для решения задачи. Следовательно, сами значения характеристик будут располагаться на пересечении соответствующих строк и столбцов. Под адекватностью информации понимается степень ее соответствия действительному состоянию тех объектов, процессов или явлений, которые отображает оцениваемая информация. В общем случае адекватность информации определяется двумя параметрами. 1. Объективностью генерирования (съема, определения, установления) информации об объекте, процессе или явлении. 2. Продолжительностью интервала времени между моментом генерирования информации и моментом оценки ее адекватности. Объективность генерирования информации, очевидно, зависит от способа получения значений характеристик объекта, процесса или явления и качества реализации (использования) способа в процессе получения этих значений. Классификация характеристик по возможным способам получения их значений представлена на рис. 2. Рис. 2. Классификация характеристик по способам получения их значений Рассмотрим теперь адекватность информации по второму названному параметру — продолжительности интервала времени между моментом генерирования информации и текущим моментом. Для оценки адекватности по данному параметру вполне подходящим является известный в теории информации так называемый закон старения информации (рис. 3). При этом под t0 понимается момент времени генерирования (получения) оцениваемой информации; t1 — продолжительность времени, в течение которого оцениваемая информация полностью сохраняет свою адекватность; t2 — продолжительность времени, в течение которого адекватность информации падает на 25%; t3 — продолжительность времени, в течение которого адекватность информации падает наполовину; t4 — продолжительность времени, в течение которого адекватность падает на 75%. Учитывая то, что обе составляющие адекватности информации Ка' и Ка'' зависят от большого числа факторов, многие из которых носят случайный характер, есть основание утверждать, что они также носят случайный характер и поэтому могут интерпретироваться как вероятности того, что информация по соответствующему параметру является адекватной. Поскольку для подавляющего большинства теоретических исследований и практических приложений важно, чтобы информация была адекватной одновременно по обоим параметрам, то в соответствии с теоремой умножения вероятностей общий показатель адекватности информации может быть определен как: Ка=Ka'∙Ka''. Независимость значений а' и а'' представляется вполне естественной. Рис. 3. Графическое представление закона старения информации Релевантность информации — это показатель, который характеризует соответствие ее потребностям решаемой задачи. Для количественного выражения данного показателя обычно используют так называемый коэффициент релевантности Кр — отношение объема релевантной информации Nр к общему объему анализируемой информации Nо, т. е. Кр = Сущность коэффициента релевантности очевидна, но трудности практического его использования сопряжены с количественным выражением объема информации. Поэтому задача вычисления этого коэффициента на практике относится к весьма неопределенной и трудноразрешимой проблеме. Толерантность информации — это показатель, характеризующий удобство восприятия и использования информации в процессе решения той задачи, для решения которой она используется. Уже из самого определения видно, что понятие толерантности является очень широким, в значительной мере неопределенным и субъективным. Поэтому вряд ли можно надеяться на разработку строго формальной методики определения толерантности информации. Требуемый уровень ЗИ должен определяться с учетом значений всех рассмотренных показателей. Однако в настоящее время методика такого определения отсутствует и разработка ее требует самостоятельных исследований. В качестве выхода из сложившегося положения можно использовать следующую полуэвристическую процедуру. 1. Все показатели информации делятся на три категории: определяющие, существенные и второстепенные, причем основным критерием для такого деления должна служить та цель, для достижения которой осуществляется ЗИ. 2. Требуемый уровень защиты устанавливается по значениям определяющих показателей информации. 3. Выбранный уровень при необходимости может быть скорректирован с учетом значения существенных показателей. Значения второстепенных показателей при этом могут игнорироваться. 15.11. Классификация методов и средств ЗИ На основании всего изложенного можно привести классификацию методов и средств ЗИ. Методы защиты можно разделить, как уже отмечалось ранее, на организационные, технические, криптографические и программные. Средства защиты в свою очередь можно разделить на постоянно действующие и включаемые при обнаружении попытки нападения. По активности они делятся на пассивные, полуактивные и активные. По уровню обеспечения ЗИ средства защиты подразделяются на 4 класса: системы слабой защиты (1 класс), системы сильной защиты, системы очень сильной защиты, системы особой защиты. Рассмотрим предметную область ЗИ с позиций структурной иерархии. Выбор СЗИ (главная проблема) зависит от предполагаемого способа нападения (обратная проблема) и способа обнаружения факта нападения (промежуточная проблема). Решение задачи выбора зависит от формы представления информации (видео, звуковая, электромагнитный сигнал), а способ защиты — от предполагаемой формы воздействия на информацию (копирование, уничтожение, искажение), используемого носителя информации (бумага, магнитный диск и т. д.), состояния информационного массива (находится информация в состоянии передачи, обработки или хранения), от того, производится ли ЗИ непрерывно или по мере обнаружения факта нападения. Данный тип иерархии наглядно может быть представлен в виде семантической схемы (рис. 4). Рис. 4. Семантическая схема проблемы ЗИ с помощью технических средств с позиций структурной иерархии С точки зрения функциональной иерархии (рис. 5) определяется, каким образом можно защитить информацию: восстановить ее при утрате, ограничить доступ к ней, оперативно уничтожить, установить помеху, замаскировать и т. д. Ограничение доступа можно проводить с помощью использования технических средств контроля доступа (доступ по контролю биологических параметров пользователя, магнитным картам и т.д.), сейфов, замков и т. д. Оперативное уничтожение предполагает осуществление функций размагничивания, сжигания, измельчения, засвечивания, растворения и т.д., постановки помехи (зашумления), использования электромагнитного, светового импульса и др. Рис. 5. Семантическая схема проблемы ЗИ с помощью технических средств с позиций функциональной иерархии С точки зрения причинно-следственной иерархии (рис. 6) в первом случае СЗИ должна обнаружить факт нападения. При обнаружении факта нападения СЗИ реализует некоторый способ защиты. Обнаружение факта нападения и реализация конкретного способа защиты происходит при условии, что заранее известно несколько предполагаемых способов нападения. Сам способ нападения, в свою очередь, зависит от состояния информационного массива и формы представления информации. Во втором случае СЗИ работает непрерывно, при этом предполагается, что нападение на информацию может быть осуществлено в любое время. СЗИ непрерывно защищает информационный массив от нескольких предполагаемых способов нападения с целью копирования, искажения, уничтожения информации путем ее оперативного уничтожения, ограничения доступа, постановки помех и т.д. Рис. 6. Семантическая схема проблемы ЗИ с помощью технических средств с позиций причинно-следственной иерархии 15.12. Некоторые подходы к решению проблемы ЗИ Рассмотрим некоторые частные случаи решения проблемы ЗИ. Способ защиты видеоинформации при ее передаче зависит от способа передачи (оптоволоконный канал, телефонный канал, проводной канал, телевизионный канал и др.), предполагаемого способа нападения, формы воздействия на видеоинформацию. Способ защиты видеоинформации при ее хранении зависит от типа носителя информации, форм воздействия на информацию или ее носитель, предполагаемого способа нападения. Способ защиты звуковой информации зависит: при хранении — от типа носителя, форм воздействия на информацию или ее носитель, предполагаемого способа нападения; при передаче — от способа передачи, предполагаемого способа нападения, форм воздействия на информацию. Способ защиты информации, существующей в виде электромагнитного сигнала, зависит от среды распространения электромагнитного сигнала, длины волны сигнала, наличия или отсутствия специальной линии связи, типа линии связи, предполагаемого способа нападения на информацию. В соответствии с вышеизложенным алгоритм проведения работ по ЗИ должен быть следующим. 1. Прежде всего, необходимо определить, имеется ли на объекте информация, которую необходимо защищать, и какая степень защиты должна обеспечиваться. Кроме того, следует определить объем средств, необходимых для обеспечения заданного уровня защиты. 2. После оценки целесообразности создания СЗИ следует выявить или спрогнозировать, по возможности, все угрозы сохранности и возможные каналы утечки информации. 3. Следующим шагом является анализ мероприятий по ЗИ объекта. Для анализа мероприятий по ЗИ на объекте необходимо оценить направление деятельности системы защиты. Для построения эффективной СЗИ целесообразно выделить следующие направления: • защита объекта; • защита процессов или процедур обработки и хранения информации, защита изделий; • защита каналов связи; • подавление побочных электромагнитных излучений; • контроль и управление СЗИ. При этом для защиты объектов необходимо выделить следующие функции, процедуры и средства защиты вне зависимости от категории объекта. 1. Минимизация сведений, доступных персоналу. 2. Минимизация связей персонала. 3. Разделение полномочий. 4. Минимизация данных, доступных персоналу. 5. Дублирование контроля. 6. Управление доступом. 7. Защита файлов и баз данных автоматизированных систем. 8. Идентификация защищенного объекта. 9. Представление полномочий. После определений функций ЗИ на объекте можно приступить к анализу требований к КСЗИ. ================================================================================== ВОПРОСЫ: 1. Классификации информационной безопасности 2. Требования по работе с конфиденциальной информацией 3. Политика ролей 4. Создание политики информационной безопасности 5. Методы обеспечения безотказности 6. Признаки уязвимых мест информационных систем 7. Виды защиты информации 8. Преодоление защиты информации 9. Подходы к созданию комплексной системы защиты информации 10. Показатели оценки информации как ресурса 11. Классификация методов и средств защиты информации 12. Некоторые подходы к решению проблемы защиты информации СОДЕРЖАНИЕ 1. Значение информации и её защиты 1 2. Носители информации 14 3. Обзор наиболее распространенных методов "взлома" 24 4. Криптология 45 5. Симметричные криптоалгоритмы. Поточные шифры 63 6. Симметричные криптоалгоритмы. Блочные шифры 82 7. AES: cтандарт блочных шифров США c 2002 года 105 8. Симметричные криптосистемы 126 9. Асимметричные криптоалгоритмы 140 10. Асимметричные криптосистемы 158 11. Стеганография 180 12. Сертификация и стандартизация криптосистем 201 13. Сетевая безопасность 215 14. Программное обеспечение и информационная безопасность 234 15. Комплексная система безопасности 253
«Методы и средства защиты информации» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 81 лекция
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot