Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

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

Дело в том, что злоумышленники очень часто пытаются получить доступ к программе или секретной информации с помощью взлома именно устройства, обеспечивающего безопасность. Давайте же рассмотрим, как разработчики электронных ключей защищают свои продукты от хакеров. А для примера возьмем технологию Stealth. Ее создала компания «Актив» для своих ключей Guardant, предназначенных для защиты ПО от пиратов.

Коды доступа к электронному ключу

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

Технология Stealth предусматривает существование трех разных личных кодов. Private Read code позволяет проверить наличие ключа, подключенного к компьютеру, считать содержимое его памяти и получить ответ аппаратных алгоритмов. Без знания Private Write code невозможно осуществить запись данных в устройство. Ну а Private Master code открывает полный доступ ко всем операциям с ключом. Каждый из этих кодов нужно держать в тайне, поскольку, получив их, злоумышленник сможет воспользоваться устройством в своих целях.

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

И теоретически возможно, что хакер, получив доступ к компьютеру, сможет ее найти. Хотя в реальной жизни это осуществить не так просто. Так вот, большинству приложений для работы хватает разрешения только на чтение данных из ключа, а также использования его аппаратных алгоритмов. Таким образом, если хакер сможет взломать защищенное приложение, то он получит только Private Read code. Перезаписать же память ключа он не сможет.

Аппаратные запреты

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

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

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

«Но постойте! - воскликнут сейчас некоторые читатели. - Раз пользователь может снять запреты на работу с памятью, то почему бы этого не сделать и хакеру?» И действительно. Раз владелец ключа с помощью специальной утилиты может легко удалить защищенные области, то, значит, и хакер сможет воспользоваться тем же программным обеспечением. Вот только тогда возникает другой вопрос: «А зачем это делать?»

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

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

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

Сертификация ключей

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

Открытые ключи предназначены для публикации или передачи другим пользователям и должны сертифицироваться как принадлежащие владельцу ключевой пары. Сертификация осуществляется с помощью центрального бюро сертификатов (Certification Authority, CA). В данном случае CA предоставляет цифровую подпись на открытом ключе, и благодаря этому CA с доверием воспринимает тот факт, что открытый ключ принадлежит владельцу ключевой пары (см. рис. 5).

Рис. 5. Сертификация открытого ключа в бюро сертификатов

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

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

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

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

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

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

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

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

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

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

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

Сегодня все острее встает проблема обеспечения безопасности при использовании сетевых технологий и все более насущной становится потребность в решениях по защите мобильных пользователей. Появляются и беспроводные аппаратные ключи защиты приложений, работающие по технологии Bluetooth. Так, тайваньская компания First International Computer продемонстрировала PDA с соответствующим модулем и беспроводной аппаратный ключ защиты приложений BlueGenie, разработанный в сотрудничестве с Silicon Wave.

HASP

дним из наиболее распространенных в России защитных устройств такого типа является устройство HASP (Hardware Against Software Piracy) от компании Aladdin, по сути ставшее стандартом де-факто. Aladdin Software Security R.D. — это российская компания, представитель мирового лидера в области разработки и производства систем аутентификации, защиты информации при работе с Интернетом и защиты программного обеспечения от несанкционированного использования Aladdin Knowledge Systems Ltd (http://www.aladdin.ru/).

HASP - это аппаратно-программная инструментальная система, предназначенная для защиты программ и данных от нелегального использования, пиратского тиражирования и несанкционированного доступа к данным, а также для аутентификации пользователей при доступе к защищенным ресурсам. В первых версиях это небольшое устройство подключалось к параллельному порту компьютера. Затем появились USB-HASP-устройства. Иметь маленький USB-ключ значительно удобнее, чем большой 25-штырьковый сквозной разъем, да и часто возникающие проблемы с совместимостью ключей и устройств, работающих через параллельный порт, типа принтеров и ZIP-дисководов изрядно утомляли пользователей. А с USB-устройствами работает автоматическое подключение (рlug-and-рlay), порты USB выносятся на переднюю панель, встраиваются в клавиатуру и монитор. А если даже такого удобного разъема под рукой нет, то в комплекте с этими ключами часто продают удлинители. Существуют несколько разновидностей ключей - с памятью, с часами и т.д.

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

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

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

Ключи являются разработкой израильской фирмы Aladdin и используются для ЗПО от НС использования: предотвращают запуск программ при отсутствии электронных ключей, ограничивают максимальное количество копии, одновременный запуск программ в сети, ограничивают время работы программы и ограничивают максимальное количество её запусков.

Типы электронных ключей HASP.

  • 1. HASP4 Standart
  • 2. HASP4 Memo
  • 3. HASP4 Time
  • 4. HASP4 Net

Самая простая модификация электронных ключей HASP. Включает в себя только функцию шифрования и связанную с ней функцию отклика. Стоимость - 13$. Может реализовывать следующие функции по защите:

  • 1. проверять наличие электронного ключа
  • 2. подавать на вход функцию отклика различные значения и сравнивать ответ с эталонными значениями
  • 3. использовать функцию шифрования для шифрования дешифрования исполнительного кода программы или используемых данных.

Основные элементы защиты

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

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

  • 2 типа по объёму энергонезависимой памяти:
    • · HASP4 М1 - 112 байт
    • · HASP4 М4 - 496 байт

Кроме тех функций, которые можно реализовать с помощью HASP4 Standart, эти ключи могут:

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

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

Включает в себя встроенный календарь с датой и временем. Используется для защиты ПО по срокам использования.

Используется для ограничения максимального количества одновременно запущенных копий программ в сети.

Способы защиты программного обеспечения с помощью электронных ключей HASP

Можно реализовывать с помощью встроенных и пристыковочных механизмов.

Встроенные - HASP API.

Пристыковочные HASP Envelopment.

Электронные ключи HASP Memo, Time и Net включают в себя подсистему полного управления доступом (FAS), позволяющую защитить одновременно несколько программ одного производителя, и ограничить их в зависимости от типа ключей по количеству запусков, по сроку действия, по количеству одновременно запущенных копий.

Электронные ключи HASP Memo, Time и Net обладают возможностью их удаленного перепрограммирования с помощью подсистемы RUS.

Для реализации удаленного управления формируется 2 утилиты: продавца и покупателя. Они формируются под конкретный электронный ключ, привязывающийся к его идентификационному номеру.

Pattern Code Security (Механизм защиты структурного кода)

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

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

Конвертер защищенных ключей «ДОН-1961»

Конвертер защищенных ключей DS1961S «ДОН-1961» предназначен для модернизации систем охраны работающих с незащищенными ключами типа DS1990 или аналогичными.

    Конвертер выполняет следующие функции:

    Привязка защищенных ключей DS1961S

    Работа с пожарно-охранными приборами, домофонами и аналогичным оборудованием по открытому протоколу ключа DS1990 со

    стороны прибора охраны и по закрытому протоколу SHA-1 ключа DS1961S со стороны считывателя ключей ТМ.

    Технические характеристики конвертера:

    Напряжение питания - 9...18В

    Потребляемый ток, не более - 10мА

    Число привязываемых защищенных ключей - неограниченно

    Длина линии до считывателя ключей ТМ, не более -15м

    Габаритные размеры 30х25х10мм

    Подключение конвертера

Подключение платы конвертера «ДОН-1961» к пожарно-охранному прибору осуществляется в «разрыв» считывателя ключей ТМ.

Красный провод +12В.

Черный провод - общий.

Зеленый провод - вход ТМ+ прибора.

Клеммник на плате конвертера подключается к считывателю ключей ТМ с соблюдением полярности!

    Порядок действий для привязки защищенных ключей к плате конвертера «ДОН-1961»:

Для привязки защищенных ключей необходимо замкнуть перемычку PGM , при этом начинает быстро мигать зеленый светодиод. При прикосновении ключом ТМ считывателя, запускается алгоритм передачи секрета в ключ. При успешной передаче загорается светодиод зеленым цветом на 3 секунды. Отсоединять ключ от считывателя ТМ необходимо в момент свечения светодиода. Во время, когда светодиод не светится, не отсоединяйте ключ от считывателя! Если это произошло, то необходимо еще раз приложить ключ к считывателю до момента зажигания светодиода зеленым. При попытке привязки чужого (не прошедшего привязку к производителю*) ключа светодиод засветится красным на 1 с. Если не загорелся ни красным, ни зеленым цветом, то ключ либо защищен от записи секрета либо неисправен. Такой ключ работать с конвертером не будет!

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

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

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

    Работа конвертера в основном режиме:

Чтобы перевести конвертер защищенных ключей в основной режим работы снимите перемычки J1 и PGM, начнет редко вспыхивать зеленый светодиод. При касании считывателя привязанного ключа происходит обмен МАС кодами между ключом DS1961S и конвертером. МАС код вычисляется на основе секретного слова и некоторых данных, которые содержатся в ключе и в микроконтроллере конвертера. Вычисление МАС кода идет по протоколу SHA-1. Если конвертер распознал привязанный секретный ключ, светодиод на плате конвертера загорается зеленым цветом на 1сек. При этом в охранный прибор передается его открытый ROM код, который записывается в охранный прибор по его стандартному алгоритму привязки открытых ключей (ROM код ключа нанесен на его корпусе).

При касании непривязанным ключом также вычисляется МАС код, но они не совпадут, так как ключу не сообщен секрет. В этом случае светодиод мигает красным цветом и в охранный прибор передается случайный ROM код, который в нем не прописан. При каждом последующем касании непривязанным ключом считывателя ТМ в прибор будет передаваться каждый раз новый ROM код. Данная особенность работы исключает программирование в охранный прибор непривязанных защищенных ключей. Это необходимо для того, чтобы прибор выдал на пульт охраны команду «Подбор ключа». Если секретный ключ привязан к плате конвертера, но не зарегистрирован в охранном приборе, при касании таким ключом считывателя в прибор также передастся нанесенный на корпусе ROM код ключа.

Светодиод на плате конвертера загорается зеленым цветом на 1сек, но прибор определит это событие как использование чужого ключа и на пульт охраны отправится команда «Подбор ключа».

В основном режиме светодиодная индикация режимов работы следующая:

    Если коснулись привязанным секретным ключом - мигнули зеленым на 1с

    Если коснулись не привязанным секретным или любым другим ключом - мигнули красным на 1с

    3. Вспыхивает зеленым - работа в основном режиме.

    Генерация нового секрета в памяти конвертера:

Для того чтобы «стереть» из памяти конвертера все ранее привязанные ключи необходимо подать питание на плату конвертера при замкнутых перемычках PGM и J1! Индикация при этом будет такая - светодиод мигает красным-зеленым с периодом 1с. При размыкании перемычки J1 светодиод начинает быстро мигать зеленым. Это означает что в памяти контроллера получено новое секретное слово, и соответственно ранее привязанные секретные ключи перестанут распознаваться этим конвертером. Необходимо все ключи привязать к конвертеру заново!

*- привязка осуществляется на спецоборудовании

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: