Какие части компьютера можно использовать только для создания отпечатка пальца этой машины?

Возможный дубликат:
Создание уникального идентификатора машины

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

Какие части машины уникальны для использования как часть отпечатка пальца?


person Only Bolivian Here    schedule 26.11.2011    source источник
comment
Строго говоря: нет. Если вам нужны те, которые имеют тенденцию работать: MAC-адрес сетевой карты, серийный номер BIOS, серийный номер диска, различные свойства процессора ... и, если вам так хочется, вы можете даже комбинировать их. Как вариант, дайте определение компьютеру;)   -  person 0xC0000022L    schedule 26.11.2011
comment
Вы упомянули те, которые мне были нужны. Я собираюсь получить каждое из этих свойств, объединить их, хэшировать и сохранить этот хеш как допустимый авторизованный компьютер.   -  person Only Bolivian Here    schedule 26.11.2011
comment
@STATUS_ACCESS_DENIED: Вы говорите, строго говоря, вы имеете в виду, что два жестких диска могут иметь одинаковый серийный номер?   -  person Only Bolivian Here    schedule 26.11.2011
comment
нет, я имею в виду, что можно клонировать (или восстановить из резервной копии) систему, заменить жесткий диск и, таким образом, получить другой серийный номер жесткого диска, и вдруг ваш продукт перестанет работать. Кроме того, серийные номера, которые вы часто видите в ОС, записываются в таблицу разделов, поэтому ими можно управлять. Слишком много неизвестного. Абсолютной безопасности нет, поэтому вам следует лучше определить ограничения вашего вопроса ...   -  person 0xC0000022L    schedule 26.11.2011
comment
@STATUS_ACCESS_DENIED: Это именно тот результат, который я ищу. Если пользователь изменит какой-либо аппаратный аспект, программное обеспечение больше не должно работать, и ему нужно будет позвонить нам и попросить активацию. Поскольку это программное обеспечение обрабатывает конфиденциальные данные, такая проверка ожидается.   -  person Only Bolivian Here    schedule 26.11.2011
comment
Что ж, тогда у вас есть ответ. Тем не менее, клонирование может быть столь же простым, как восстановление резервной копии после сбоя диска. Если это должно означать, что необходима активация, достаточно справедливо. Но это бизнес-решение, а не технический вопрос ...   -  person 0xC0000022L    schedule 26.11.2011


Ответы (1)


Ваша проблема (контроль доступа с целью принудительного применения лицензии на программное обеспечение) аналогична проблеме безопасности / шифрования в целом. Но правило номер один: никогда не запускайте собственную криптовалюту. Я думаю, что здесь это определенно применимо.

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

Теперь попытайтесь сбалансировать свое желание помешать пользователям, которые не могут понять этого, с воздействием на ваших законных пользователей, которые обнаружат, что ваше программное обеспечение «сломано», когда они заменят свой неисправный жесткий диск (построенный с частями зоны наводнения, например: ). Как ваше программное обеспечение будет реагировать, когда вы работаете на платформе без сетевой карты или дисков (вполне возможно, ваше программное обеспечение может работать дольше, чем любой аппаратный API, который вы используете). Будет ли он безопасным / параноидальным или не соответствует требованиям / доверием? Вы уверены, что действительно хотите использовать эту схему?

Если вам действительно нужен механизм лицензирования, рассмотрите алгоритм для создания строк идентификации лицензии.

person Brian Cain    schedule 26.11.2011
comment
Это именно тот результат, который я ищу. Если пользователь изменит какой-либо аппаратный аспект, программное обеспечение больше не должно работать, и ему нужно будет позвонить нам и попросить активацию. Поскольку это программное обеспечение обрабатывает конфиденциальные данные, такая проверка ожидается. - person Only Bolivian Here; 26.11.2011
comment
@ Брайан: Я не согласен. Проблема с теми, что продаются, в том, что они, как правило, уже треснуты. - person 0xC0000022L; 26.11.2011
comment
пожал плечами знаменитые последние слова (@SergioTapia). Как насчет использования стандартной схемы лицензирования с блокировкой узлов (например, flexlm)? - person Brian Cain; 26.11.2011
comment
@STATUS_ACCESS_DENIED - похоже, вы рекомендуете безопасность через скрытность. - person Brian Cain; 26.11.2011
comment
@ Брайан: это далеко не так. Но я разработчик обратного кода и знаю, что возможно и насколько это осуществимо. Ни одно, повторяю, ни одно из решений, полностью реализованных в коде, не является безопасным. И не имеет значения, какой криптоалгоритм вы предлагаете, потому что все они терпят неудачу с одной стороны: если вы не доверяете пользователю, вы никогда не должны давать ему инструменты для доступа к тому, что вы хотите защитить. Допустим, вы что-то зашифровали и вам нужно расшифровать это на машине пользователя, (закрытый) ключ должен быть где-то на машине. Кажется, вам нужно выполнить несколько поисков в Интернете, чтобы проверить, что взломано, а что нет ... - person 0xC0000022L; 26.11.2011
comment
Я не понимаю, как получение данных от оборудования и создание уникального хеша - это безопасность через неясность. Вы можете уточнить? Имейте в виду, что это всего лишь начальная фаза авторизации, остальное взаимодействие между клиентом и веб-службой осуществляется другими способами. - person Only Bolivian Here; 26.11.2011
comment
@STATUS_ACCESS_DENIED, конечно, все, что вы говорите, правда - это просто подтверждает мою точку зрения. Зачем пробовать? Я только не согласен с вашим выводом о том, что новый алгоритм самостоятельной работы будет каким-то образом более безопасным, чем стандартный. - person Brian Cain; 26.11.2011