Донгл что это такое
USB-ключ безопасности: Что это такое и зачем он нужен?
Электронный ключ USB для защиты вашей информации и вашего ПК: Что это такое?
Когда дело доходит до защиты вашей информации, вы никогда не будете в полной безопасности. Хотя использование надежных паролей и программной двухфакторной аутентификации (2FA), безусловно является отличным началом. Вы можете еще больше укрепить свою онлайн-безопасность с помощью аппаратного ключа безопасности. Кроме того, их легко использовать как на личных, так и на служебных устройствах и учетных записях.
Вам не нужно быть техническим специалистом, чтобы использовать электронный ключ. Их довольно легко настроить, а некоторые для удобства даже можно сохранить на связке ключей. Ключ безопасности — идеальный способ обрести дополнительное спокойствие в защиты ваших наиболее безопасных учетных записей, устройств и информации.
Что такое USB-ключ безопасности?
Физически USB-ключ безопасности (также называемый ключом U2F) — это тип аппаратной защиты, который напоминает USB-накопитель и подключается к одному из USB-портов вашего компьютера. На практике ключ безопасности — это физическое устройство безопасности с полностью уникальной идентификацией. Он содержит небольшой чип со всеми протоколами безопасности и кодом, который позволяет ему подключаться к серверам и проверять вашу личность. Он используется для того, чтобы убедиться, что вы действительно получаете доступ к сайту или услуге.
Некоторые ключи безопасности даже имеют встроенный NFC или Bluetooth, что делает их идеальными для использования с новыми смартфонами Android и iOS. Ключи работают с такими браузерами, как Google Chrome, а также с веб-сервисами, такими как Gmail, Facebook, Dropbox, 1Password, Twitter, GitHub, Microsoft и многими другими.
Ключи безопасности — это еще один уровень двухфакторной безопасности, мало чем отличающийся от одноразовых кодов, которые вы получали по SMS или электронной почте при входе на определенные сайты, или от биометрических сканирований вашего отпечатка пальца или лица, используемых для разблокировки вашего ноутбука или смартфона. Но вместо того, чтобы отправлять вам код или сканировать часть тела, вы должны подключить устройство к компьютеру, чтобы получить доступ ко всему, что вы защищаете.
Какие есть способы обезопасить свой компьютер?
Надежная безопасность: использование уникальных надежных паролей для каждой из ваших учетных записей. Из-за этого хакеру или алгоритму невероятно сложно (если не невозможно) подобрать коды. Вам будет непросто их запомнить (для этого и нужны менеджеры паролей ), но их сложность делает их очень эффективными.
Повышенная безопасность: настройка программной двухфакторной аутентификации для ваших учетных записей (где вы получаете текстовый код) или с помощью приложений аутентификации. Это еще больше усложняет задачу хакеру взломать вас, поскольку ему нужно знать ваш пароль и иметь под рукой ваш телефон (или заменить его SIM-картой ), чтобы получить доступ.
Кроме того, в большинстве случаев вы также будете получать уведомление об одноразовом коде каждый раз, когда кто-то пытается получить доступ к вашей учетной записи, предупреждая вас.
Самая сильная безопасность: настройка физической двухфакторной аутентификации, также известной как ключ безопасности, создает единую уникальную точку доступа, которую нельзя дублировать. Чтобы вы или кто-либо еще мог получить доступ к своим подключенным учетным записям, вам понадобится ваш пароль, а также физический ключ — с чем не может справиться даже лучший хакер.
Ключи безопасности настолько хороши, что они даже не позволят вам ввести свою информацию на поддельном веб-сайте, поэтому, даже если хакеру удастся обмануть вас, он не обманет ваш ключ безопасности. Это оборудование действует как ваш цифровой телохранитель, удерживая нежелательных пользователей от вашей информации.
И не беспокойтесь: на ключе безопасности не хранятся никакие личные данные или данные учетной записи. В случае, если вы потеряете свой ключ или кто-то его заберет, им все равно придется знать имена и пароли ваших учетных записей, чтобы куда-то добраться.
Как работают электронные ключи защиты?
Думайте о ключе безопасности как о двери отеля. Вы регистрируетесь на стойке регистрации, оплачиваете посуточную плату и получаете ключ от номера. Тогда, гипотетически говоря, если бы вы встали перед дверью назначенной вам комнаты и сказали: «Я хочу войти», дверь просто не откроется. Вам нужно будет вставить ключ в слот, позволить ему подключиться к системе отеля и подтвердить: «Да, этот ключ в настоящее время действителен. Дайте мне зарегистрированный ключевой код, чтобы открыть эту комнату».
Установить и использовать электронный ключ также довольно просто. После того, как вы подключили устройства и онлайн-аккаунты, на которых хотите использовать ключ безопасности все, что вам нужно сделать на этом этапе — это подключить ключ, когда вы хотите получить доступ к устройству или сайту, и нажать сенсорную кнопку.
Кому следует использовать электронный ключ защиты?
Любой желающий может использовать электронный ключ, но для некоторых это может быть чрезмерной мерой. Если вас не беспокоит кратковременное неудобство безопасного входа в свои подключенные учетные записи, это отличная идея. В конце концов, лучше перестраховаться сейчас, чем сожалеть потом.
Мы настоятельно рекомендуем ключи безопасности тем, кто регулярно пользуется общедоступным Wi-Fi, поскольку трафик через Wi-Fi можно легко перехватить, а использование общедоступного Wi-Fi делает вас более уязвимыми для взлома. Использование ключа безопасности делает так, что даже если кто-то перехватит ваши данные, он не сможет войти в ваши учетные записи.
Мы также рекомендуем ключи безопасности всем, кто имеет дело с защищенной информацией в Интернете, такой как финансовая информация, а также известным людям и другим важным лицам, которым нужен дополнительный уровень безопасности.
Недостатки использования USB-ключа безопасности
Основным недостатком и самой большой слабостью электронного ключа безопасности: это единая точка доступа для ваших учетных записей. Если ключ делает практически невозможным для хакера доступ к вашим учетным записям, он также делает практически невозможным доступ к вашим собственным учетным записям в случае, если вы потеряете свой ключ безопасности.
Если у вас где-то открыт еще один экземпляр ваших учетных записей, вы можете войти и удалить свой электронный ключ или создать новый, но если вы этого не сделаете, вам может сильно не повезти. Однако, в зависимости от направления, для которого вы настроили ключ безопасности, например в Google, у вас будет доступ к ряду вариантов доступа к вашей учетной записи, например, к резервным кодам доступа. Вы также можете технически купить резервный ключ безопасности, но не каждый сайт позволяет зарегистрировать два.
Другой примечательный недостаток заключается в том, что не все сайты и службы поддерживают ключи безопасности как вариант 2FA, особенно небольшие службы. Большинство сервисов вообще не предлагают поддержку 2FA, они будут придерживаться вариантов на основе SMS или электронной почты. Это означает, что в настоящее время вы будете тратить деньги на защиту лишь на небольшом количестве сайтов, хотя в будущем может появиться поддержка для большего числа сайтов.
Другие особенности, которые следует учитывать при покупке USB-ключа безопасности
Очевидно, что безопасность — это главное здесь и самая важная часть физического ключа безопасности. Однако есть несколько дополнительных функций, которые следует учитывать, если вы думаете о покупке электронного ключа.
Совместимость устройства и учетной записи: не все аппаратные ключи одинаковые. Некоторые подключаются к компьютеру через USB-A или USB-C, а другие поддерживают только порты Apple Lightning. Новые варианты могут даже поддерживать Bluetooth и NFC, что делает их совместимыми со смартфонами. Убедитесь, что выбранный вами ключ будет работать со всеми устройствами, на которых вы хотите его использовать, от macOS и Windows до Android и iOS.
Долговечность: поскольку ключ безопасности — это то, что вы потенциально можете использовать каждый день, очень важно, чтобы он имел прочную конструкцию из высококачественных материалов. Металлические разъемы, которые подключаются к разъемам USB-порта вашего устройства, должны быть достаточно прочными, чтобы выдерживать тысячи применений. Лучшие ключи безопасности выдерживают падение (или падение на него чего-либо), а также водонепроницаемы.
Лучшие USB ключи безопасности
Если вы решили, что хотите получить электронный ключ, но не знаете, какие у вас что купить: ниже мы представили несколько лучших вариантов, в том числе несколько ключей премиум-класса и недорогой вариант.
Лучший ключ безопасности: Yubico YubiKey 5 NFC
Yubico — это имя, которому доверяют в мире ключей безопасности, поскольку оно помогло разработать стандарт FIDO U2F вместе с Google. YubiKey 5 NFC использует как NFC и разъем USB-A, и является идеальным выбором для получения авторизовались на своих интернет — услуг и счетов, а также ваши MacOS компьютеры, Android устройств, а также iPhone 7 или более новые модели. Он поддерживает множество стандартов безопасности, включая FIDO U2F, FIDO2, Yubico OTP, OATH-HOTP, Open PGP и смарт-карту. Ключ устойчив к воде, взлому и раздавливанию.
Yubico — YubiKey 5 NFC — двухфакторная аутентификация USB и ключ безопасности NFC, подходит для портов USB-A и работает с поддерживаемыми мобильными устройствами NFC — защитите свои учетные записи в Интернете с помощью не только пароля
Получите максимальную связь и безопасность для ваших компьютеров, мобильных устройств, совместимых веб-сайтов и служб.
Лучший бюджетный выбор: электронный ключ Thetis FIDO U2F
Вам не нужно тратить много денег, чтобы получить респектабельный ключ безопасности. Thetis FIDO U2F предлагает лучшую отдачу от вложенных средств. Ключ работает как в браузерах Chrome, так и в Opera в операционных системах MacOS, Windows и Linux. Он пропускает варианты подключения Bluetooth и NFC в пользу порта USB-A. У ключа Thetis есть поворотный механизм, который защищает USB-порт, когда он не используется.
Ключ безопасности FIDO U2F, Thetis [алюминиевый складной дизайн] Универсальная двухфакторная аутентификация USB (тип A) для дополнительной защиты в Windows, Linux,Mac OS, Gmail, Facebook, Dropbox, SalesForce, GitHub
Подключайтесь к своим устройствам и онлайн-аккаунтам и защищайте их, не тратя при этом целое состояние. Работает с системами Windows, macOS и Linux.
Комплект ключей безопасности Google Titan
Вместе с Yubico, Google помог разработать стандарт FIDO U2F, на который полагаются эти устройства, так что это еще один хороший выбор. Пакет Google Titan Key Bundle включает в себя один ключ Bluetooth и один ключ USB-A, поэтому вы можете подключаться к компьютерам и мобильным устройствам, а также к совместимым веб-службам.
Сверху у ключей есть отверстие, поэтому вы можете соединить их с кольцом для ключей. Оба ключа поддерживают Программу расширенной защиты Google, которая является самым надежным предложением компании по обеспечению безопасности. Google также предлагает отличный вариант USB-C, если он лучше работает с портами вашего устройства.
Электронные ключи — это простой и относительно недорогой способ сохранить важную информацию в Интернете. Хотя они могут быть излишними для обычного человека, уровень безопасности, который они предлагают, делает их полезными для всех, кто имеет дело с защищенной информацией, особенно в общедоступном Wi-Fi-соединении. Их также могут использовать знаменитости и известные люди. Также не теряйте свой электронный ключ безопасности.
Netflix и YouTube на телевизоре: выбираем смарт-приставку
Подойдет для обычного и даже умного телевизора, если тот начал тупить
Рассказываем, что такое донгл и чем он отличается от смарт-приставки. Какая операционная система лучше и на что стоит обратить внимание, чтобы смотреть классное кино и не мучиться с подключениями и настройками.
Донглы для трансляции со смартфонов и планшетов
Самый дешевый способ смотреть кино или YouTube на большом экране без проводов — транслировать его со смартфона или планшета. Для этого (если телевизор недостаточно умный) потребуется донгл — это небольшой медиаплеер, который забирает контент с устройства по Wi-Fi и выводит его на телевизор через HDMI.
Для трансляции видео используются несколько технологий:
Доступная цена — это основной плюс донглов. Но они всегда привязаны к устройству, поэтому если смартфон разрядится или на него поступит звонок, трансляция видео прекратится.
Зачем покупать: смотреть на большом экране всё, что привыкли разглядывать на смартфоне, не тратя много денег
Сколько стоят: от 1400 рублей
Смарт-приставки
Смарт-приставки (или медиаплееры) дороже донглов, но зато сами, без смартфона или планшета, воспроизводят фильмы, музыку и даже игры. Внутри — мощное железо и встроенная операционная система, которые и позволяют это делать. Основных операционных систем две — tvOS от Apple и Android от Google.
Приставки с tvOS
tvOS доступна только на приставках Apple TV — это медиаплееры для владельцев iPhone, iPad и Mac. Они работают в экосистеме Apple: загружают ту же музыку из Apple Music, что и на iPhone, или автоматически подключают к себе наушники AirPods/Beats.
Помимо стандартных кинотеатров «КиноПоиск», Okko, «Амедиатека» и Netflix, они воспроизводят фильмы из фирменных сервисов iTunes, Apple TV+, поддерживают AirPlay и фирменный магазин приложений App Store.
Приставки Apple TV достаточно мощные, чтобы запускать игры. Они совместимы с сервисом Apple Arcade, который за ежемесячную плату дает доступ к 180+ играм на iPhone, iPad, Mac и Apple TV.
Зачем покупать: смотреть кино из iTunes и Apple TV+, играть в игры Apple Arcade на большом экране
Сколько стоят: от 14 000 рублей
Приставки на Android
С приставками на Android всё сложнее. Они делятся на три класса:
Android TV или Google TV. Оптимизированы для работы на телевизоре. Они поддерживают магазин приложений Google Play и ручную установку программ (чего нет в Apple TV). Ручная установка пригодится, если приложение недоступно в Google Play, правда, корректность его работы никто не гарантирует.
Android со своей оболочкой. Часто такие устройства ограничены предустановленными приложениями и сервисами, то есть нельзя загружать приложения из Google Play или устанавливать вручную. Но зато такие устройства предлагают дополнительные бонусы от производителя.
Например, приставка SberBox работает на фирменной оболочке и не поддерживает Google Play. При этом бесплатно предоставляет 20 ТВ-каналов, радио и видео в интернете, 3 месяца подписки SberPlay. И скидки на другие подписки: 3 месяца СберЗвук и Okko «Оптимум», месяц «Смотрёшки» Silver — за один рубль.
Обычный Android. Интерфейс такой же, как и на любом смартфоне или планшете с Android. Но управление не очень удобное, так как система оптимизирована для сенсорного дисплея, а не телевизора — лучше пользоваться мышкой и клавиатурой. Зато эти приставки недорогие.
Что выбрать: если хотите сэкономить и при этом спокойно пользоваться приставкой без дополнительных настроек — Android TV или Google TV, готовы покопаться в настройках — на чистом Android
Сколько стоят: от 1800 рублей за модели на обычном Android и свыше 4 000 рублей за варианты на Android TV или Google TV
Разрешение и HDR
Чтобы показывать максимально детализированную картинку, медиаплеер должен поддерживать то же разрешение, что и телевизор.
Еще на качество изображения влияет технология HDR. С ней в светлых и темных участках изображения проявляется больше деталей. Без этой технологии классический мужской костюм будет выглядеть на экране сплошным черным пятном, с HDR вы увидите на нем складки, пуговицы и другие мелочи. Например, в Rombica TV Fly есть полная поддержка HDR 10 bit.
Чтобы HDR заработал, должно всё сложиться: технологию должны поддерживать и телевизор, и фильм, и приставка
Подключение к интернету
Приставки получают контент из интернета и подключаются к нему двумя способами: через Wi-Fi или кабелем. Wi-Fi работает в двух диапазонах: 2,4 и 5 ГГц.
Для передачи 4К-видео по сети скорости Wi-Fi может не хватить, лучше использовать проводное подключение со стандартом RJ-45.
Многоканальный звук
Многоканальный звук полностью погружает вас в мир, где супергерои уворачиваются от злодеев и монстров. Получается объемное и реалистичное звучание. Если в фильме выстрел раздается справа сзади, то и вы слышите его справа сзади.
Такой звук может обеспечить система домашнего кинотеатра. Но чтобы насладиться звучанием, нужно, чтобы и медиаплеер поддерживал форматы многоканального звука: форматы Dolby или DTS (часто приставки поддерживают оба).
Чем еще отличаются смарт-приставки
Вот несколько характеристик, на которые тоже стоит обратить внимание.
Объем памяти. Здесь всё, как в смартфоне: чем больше постоянной памяти, тем больше приложений и контента можно установить. Но не весь заявленный объем памяти доступен. Например, у ZTE ZXV10 B866 в характеристиках указано 8 ГБ, а свободны только 5 ГБ.
Если вы смотрите фильмы в 2–3 онлайн-кинотеатрах, 8 ГБ будет достаточно. Собираетесь играть или сохранять файлы в памяти — выберите модель с 16 ГБ и больше. У приставки Apple TV 4K целых 64 ГБ.
Разъемы. Хорошо, если у приставки будет два и больше USB-портов для подключения внешних устройств. К одному подключите флешку с фильмом, а ко второму — адаптер беспроводной мыши, чтобы управлять было проще.
Картридер. На карты памяти записывают фильмы или устанавливают на них приложения, если это позволяет приставка.
Голосовое управление. Все больше приставок получают функцию голосового помощника (например, SberBox ). Для передачи голосовых команд обычно используют микрофон в пульте.
Встроенный модуль Bluetooth. С ним проще подключать беспроводную мышь или наушники: не понадобятся USB-адаптеры.
Донгл
Электронный ключ (также аппаратный ключ, иногда донгл от англ. dongle ) — аппаратное средство, предназначенное для защиты программного обеспечения (ПО) и данных от копирования, нелегального использования и несанкционированного распространения.
Основой данной технологии является специализированная микросхема, либо защищённый от считывания микроконтроллер, имеющие уникальные для каждого ключа алгоритмы работы. Донглы также имеют защищённую энергонезависимую память небольшого объёма, более сложные устройства могут иметь встроенный криптопроцессор (для аппаратной реализации шифрующих алгоритмов), часы реального времени. Аппаратные ключи могут иметь различные форм-факторы, но чаще всего они подключаются к компьютеру через USB. Также встречаются с LPT, SOIC или PCMCIA-интерфейсами.
Содержание
Принцип действия
Ключ присоединяется к определённому интерфейсу компьютера. Далее защищённая программа через специальный драйвер отправляет ему информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять определенные разработчиками действия, например, переключаться в демонстрационный режим, блокируя доступ к определённым функциям.
Существуют специальные ключи, способные осуществлять лицензирования (ограничения числа работающих в сети копий программы) защищенного приложения по сети. В этом случае достаточно одного ключа на всю локальную сеть. Ключ устанавливается на любой рабочей станции или сервере сети. Защищенные приложения обращаются к ключу по локальной сети. Преимущество в том, что для работы с приложением в пределах локальной сети им не нужно носить с собой электронный ключ.
История
Защита ПО от нелицензионного пользования увеличивает прибыль разработчика. На сегодняшний день существует несколько подходов к решению этой проблемы. Подавляющее большинство создателей ПО используют различные программные модули, контролирующие доступ пользователей с помощью ключей активации, серийных номеров и т. д. Такая защита является дешёвым решением и не может претендовать на надёжность. Интернет изобилует программами, позволяющими нелегально сгенерировать ключ активации (генераторы ключей) или заблокировать запрос на серийный номер/ключ активации (патчи, крэки). Кроме того, не стоит пренебрегать тем фактом, что сам легальный пользователь может обнародовать свой серийный номер.
Эти очевидные недостатки привели к созданию аппаратной защиты программного обеспечения в виде электронного ключа. Известно, что первые электронные ключи (то есть аппаратные устройства для защиты ПО от нелегального копирования) появились в начале 1980-х годов, однако первенство в идее и непосредственном создании устройства, по понятным причинам, установить очень сложно.
Защита ПО с помощью электронного ключа
Комплект разработчика ПО
Донгл относят к аппаратным методам защиты ПО, однако современные электронные ключи часто определяются как мультиплатформенные аппаратно-программные инструментальные системы для защиты ПО. Дело в том, что помимо самого ключа компании, выпускающие электронные ключи, предоставляют SDK (Software Developer Kit — комплект разработчика ПО). В SDK входит все необходимое для начала использования представляемой технологии в собственных программных продуктах — средства разработки, полная техническая документация, поддержка различных операционных систем, детальные примеры, фрагменты кода, инструменты для автоматической защиты. Также SDK может включать в себя демонстрационные ключи для построения тестовых проектов.
Технология защиты
Технология защиты от несанкционированного использования ПО построена на реализации запросов из исполняемого файла или динамической библиотеки к ключу с последующим получением и, если предусмотрено, анализом ответа. Вот некоторые характерные запросы:
Стоит отметить, что некоторые современные ключи (Guardant Code от Компании «Актив», Sentinel от Thales, LOCK от Astroma Ltd., Rockey6 Smart от Feitian, Senselock от Seculab) позволяют разработчику хранить собственные алгоритмы или даже отдельные части кода приложения (например, специфические алгоритмы разработчика, получающие на вход большое число параметров) и исполнять их в самом ключе на его собственном микропроцессоре. Помимо защиты ПО от нелегального использования такой подход позволяет защитить используемый в программе алгоритм от изучения, клонирования и использования в своих приложениях конкурентами. Однако для простого алгоритма (а разработчики часто совершают ошибку, выбирая для загрузки недостаточно сложный алгоритм) может быть проведен криптоанализ по методу анализа «черного ящика».
Как следует из вышесказанного, «сердцем» электронного ключа является алгоритм преобразования (криптографический или другой). В современных ключах он реализован аппаратно — это практически исключает создание полного эмулятора ключа, так как ключ шифрования никогда не передается на выход донгла, что исключает возможность его перехвата.
Алгоритм шифрования может быть секретным или публичным. Секретные алгоритмы разрабатываются самим производителем средств защиты, в том числе и индивидуально для каждого заказчика. Главным недостатком использования таких алгоритмов является невозможность оценки криптографической стойкости. С уверенностью сказать, насколько надёжен алгоритм, можно было лишь постфактум: взломали или нет. Публичный алгоритм, или «открытый исходник», обладает криптостойкостью несравнимо большей. Такие алгоритмы проверяются не случайными людьми, а рядом экспертов, специализирующихся на анализе криптографии. Примерами таких алгоритмов могут служить широко используемые ГОСТ 28147—89, AES, RSA, Elgamal и др.
Защита с помощью автоматических средств
Для большинства семейств аппаратных ключей разработаны автоматические инструменты (входящие в SDK), позволяющие защитить программу «за несколько кликов мыши». При этом файл приложения «оборачивается» в собственный код разработчика. Реализуемая этим кодом функциональность варьируется в зависимости от производителя, но чаще всего код осуществляет проверку наличия ключа, контроль лицензионной политики (заданной поставщиком ПО), внедряет механизм защиты исполняемого файла от отладки и декомпиляции (например, сжатие исполняемого файла) и др.
Важно то, что для использования автоматического инструмента защиты не требуется доступ к исходному коду приложения. Например, при локализации зарубежных продуктов (когда отсутствует возможность вмешательства в исходный код ПО) такой механизм защиты незаменим, однако он не позволяет использовать весь потенциал электронных ключей и реализовать гибкую и индивидуальную защиту.
Реализация защиты с помощью функций API
Помимо использования автоматической защиты, разработчику ПО предоставляется возможность самостоятельно разработать защиту, интегрируя систему защиты в приложение на уровне исходного кода. Для этого в SDK включены библиотеки для различных языков программирования, содержащие описание функциональности API для данного ключа. API представляет собой набор функций, предназначенных для обмена данными между приложением, системным драйвером (и сервером в случае сетевых ключей) и самим ключом. Функции API обеспечивают выполнение различных операций с ключом: поиска, чтения и записи памяти, шифрования и расшифрования данных при помощи аппаратных алгоритмов, лицензирования сетевого ПО и т. д.
Умелое применение данного метода обеспечивает высокий уровень защищённости приложений. Нейтрализовать защиту, встроенную в приложение, достаточно трудно вследствие её уникальности и «размытости» в теле программы. Сама по себе необходимость изучения и модификации исполняемого кода защищенного приложения для обхода защиты является серьёзным препятствием к её взлому. Поэтому задачей разработчика защиты, в первую очередь, является защита от возможных автоматизированных методов взлома путём реализации собственной защиты с использованием API работы с ключами.
Обход защиты
Задача злоумышленника — заставить защищённую программу работать в условиях отсутствия легального ключа, подсоединённого к компьютеру. Не вдаваясь очень глубоко в технические подробности, будем исходить из предположения, что у злоумышленника есть следующие возможности:
Такие широкие возможности противника можно объяснить тем, что он имеет доступ ко всем открытым интерфейсам, документации, драйверам и может их анализировать на практике с привлечением любых средств.
Для того чтобы заставить программу работать так, как она работала бы с ключом, можно или внести исправления в программу (взломать её программный модуль), или эмулировать наличие ключа путём перехвата вызовов библиотеки API обмена с ключом.
Стоит отметить, что современные электронные ключи (к примеру, ключи Guardant поколения Sign и современные ключи HASP HL) обеспечивают стойкое шифрование протокола обмена электронный ключ — библиотека API работы с ключом. В результате наиболее уязвимыми местами остаются точки вызовов функций этого API в приложении и логика обработки их результата.
Эмуляция ключа
При эмуляции никакого воздействия на код программы не происходит, и эмулятор, если его удается построить, просто повторяет все поведение реального ключа. Эмуляторы строятся на основе анализа перехваченных запросов приложения и ответов ключа на них. Они могут быть как табличными (содержать в себе все необходимые для работы программы ответы на запросы к электронному ключу), так и полными (полностью эмулируют работу ключа, так как взломщикам стал известен внутренний алгоритм работы).
Построить полный эмулятор современного электронного ключа — это достаточно трудоёмкий процесс, требующий большого количества времени и существенных инвестиций. Ранее злоумышленникам это удавалось: например, компания Aladdin признаёт, что в 1999 году злоумышленникам удалось разработать довольно корректно работающий эмулятор ключа HASP3 и HASP4. Это стало возможным благодаря тому, что ключ использовал проприетарный алгоритм кодирования, который был взломан. Сейчас большинство ключей используют публичные криптоалгоритмы, поэтому злоумышленники предпочитают атаковать какой-то конкретный защищённый продукт, а не защитный механизм в общем виде. Для современных систем защиты HASP и Guardant эмуляторов в свободном доступе нет, так как используется криптосистема с открытым ключом.
Информации о полной эмуляции современных ключей Guardant не встречалось. Существующие табличные эмуляторы реализованы только для конкретных приложений. Возможность их создания была обусловлена неиспользованием (или неграмотным использованием) основного функционала электронных ключей разработчиками защит.
Так же отсутствует какая-либо информация о полной или хотя бы частичной эмуляции ключей LOCK, либо о каких-либо других способах обхода этой защиты.
Взлом программного модуля
Злоумышленник исследует логику самой программы, с той целью, чтобы, проанализировав весь код приложения, выделить блок защиты и деактивировать его. Взлом программ осуществляется с помощью отладки (или пошагового исполнения), декомпиляции и дампа оперативной памяти. Эти способы анализа исполняемого кода программы чаще всего используются злоумышленниками в комплексе.
Отладка осуществляется с помощью специальной программы — отладчика, который позволяет по шагам исполнять любое приложение, эмулируя для него операционную среду. Важной функцией отладчика является способность устанавливать точки (или условия) остановки исполнения кода. С помощью них злоумышленнику проще отслеживать места в коде, в которых реализованы обращения к ключу (например, остановка выполнения на сообщении типа «Ключ отсутствует! Проверьте наличие ключа в USB-интерфейсе»).
Дизассемблирование — способ преобразования кода исполняемых модулей в язык программирования, понятный человеку — Assembler. В этом случае злоумышленник получает распечатку (листинг) того, что делает приложение.
Суть атаки с помощью дампа памяти заключается в считывании содержимого оперативной памяти в момент, когда приложение начало нормально исполняться. В результате злоумышленник получает рабочий код (или интересующую его часть) в «чистом виде» (если, к примеру, код приложения был зашифрован и расшифровывается только частично, в процессе исполнения того или иного участка). Главное для злоумышленника — верно выбрать момент.
Отметим, что существует немало способов противодействия отладке, и разработчики защиты используют их: нелинейность кода, (многопоточность), недетерминированную последовательность исполнения, «замусоривание» кода, (бесполезными функциями, выполняющими сложные операции, с целью запутать злоумышленника), использование несовершенства самих отладчиков и др.