Ключ HASP. Как он работает и взаимодействует с программами 1С?

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

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

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

Что такое HASP-ключ?

Аббревиатура HASP расшифровывается как Hardware Against Software Piracy. Прямой перевод фразы выглядит примерно так “Оборудование Против Пиратства Программного Обеспечения”. Мы имеем дело со специальным устройством, которое при подключении к компьютеру позволяет лицензировать необходимую программу.

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

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

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

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

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

Кстати, важно отметить, что технология HASP – мультиплатформенная. А значит, ключи аппаратной защиты будут работать и в Windows, и в UNIX-системах, и в Apple. 

Как устроен ключ аппаратной защиты?

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

processor-4347273_960_720.jpg

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

Основой работы ключей типа HASP является специальная микросхема, которая называется ASIC (Application Specific Integrated Circuit). Эти микросхемы делаются на заказ по конкретному техническому заданию разработчика и изготавливаются всего лишь несколькими компаниями. На территории России этим вопросом занимается компания Alladin. Каждая микросхема имеет уникальный для каждого ключа алгоритм работы. Это означает, что даже в рамках одной серии программ используются разные чипы, которые могут на аппаратном уровне давать разные ответы. Для чего это делается, в общем-то, понятно. Нужно как-то исключить возможность изготовления аналогичной микросхемы, чтобы исключить нелегальное копирование или доступ к информации.

У каждого ключа HASP имеется уникальный опознавательный номер, или идентификатор (ID-number). Такой идентификатор присваивается электронному ключу в процессе изготовления и записать туда новый невозможно. Это гарантирует его защиту от повторного внесения. Можно использовать данные с ключа как код для шифра. Записывать зашифрованную информацию на диске компьютера и давать к ней вполне свободный доступ, но не допускать её расшифровки без ключа шифрования. Подобрать код шифровая хоть в теории и возможно, но задача эта настолько трудоемкая, что просто невозможно это реализовать на практике. Ну а по уровню защиты и работы с зашифрованной информацией – это как пароль в игре подобрать. 

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

Физическая подделка такого чипа довольно затруднительна. Ведь следует изготовить точно такой же чип! Даже изготовление стандартного чипа – штука довольно трудоемкая

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

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

Как можно использовать HASP?

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

 

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

Насколько надежен HASP ключ?

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

 

Как такой ключ используется в 1С-ке?

 

Поскольку разговор мы с вами начали именно про использование HASP-ключа в программах 1С, отметим парочку особенностей применительно именно к этому случаю. 

153.750.jpg

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

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

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

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

Ответить

Ваш адрес email не будет опубликован.