T-n-T: Верификация ID устройства
Задача
Запретить запуск диаграммы на неавторизованных устройствах.
Решение
Одним из вариантов решения данной задачи является реализация алгоритма защиты диаграммы PIN-кодом, привязанным к уникальному идентификатору устройства, с применением SFX-файла.
Для реализации данного решения нужно:
- Добавить в диаграмму фрагмент, вычисляющий уникальный PIN-код по серийному идентификационному номеру контроллера (ID устройства). Алгоритм может быть любой, например такой:
где «пароль1» и «пароль2» - постоянные значения, задаваемые автором диаграммы произвольно, являющиеся ключевыми для генерирования PIN-кода.
- Создать SFX-файл, содержащий используемый алгоритм и параметр пользовательской конфигурации и передать его пользователю.
Порядок работы с данным решением:
- Пользователь запускает полученный SFX-файл, подключает контроллер к ПК, сообщает идентификационный номер устройства автору диаграммы.
- Автор диаграммы, зная заложенный в контроллер алгоритм авторизации и используя полученное значение идентификатора, генерирует PIN-код, например с использованием симулятора CannyLab, и передает его пользователю.
- Пользователь вводит полученный PIN-код в поле параметра пользовательской конфигурации и записывает программу в контроллер.
Сгенерированный таким образом PIN-код подходит только для контроллера с указанным идентификационным номером и не сможет быть успешно использован для контроллера с другим ID.
При попытке несанкционированного использования диаграммы, т.е. в случае, если верификация не пройдена, контроллер, по алгоритму автора диаграммы, может быть переведен тот или иной режим некорректной работы, например в циклический сброс или деактивации используемых драйверов устройства, и т.п.
Преимущество такой защиты состоит в том, что файл автономной загрузки ПО в контролер (SFX-файл) может быть один и может находиться при этом в свободном доступе.