Комментарии 64
1) Аутентификация: например, устройство подключается к какому-то серверу, который подтверждает его аутентичность (в IoT это очень распространено). Если даже злоумышленник скопировал устройство полностью (клонировал), ключи для аутентификации будут другими, и пользы от этого устройства он не получит.
2) Выпуск устройств с ограниченной функциональностью: в данном случае в устройстве блокируется какая-то важная для пользователя функция, разблокировать которую можно только применив уникальный ключ, который формируется, например, как хэш от некоторых пар запрос-ответ ФНФ. Опять же он будет уникальным для каждого чипа, и узнав его для одного, злоумышленник не сможет применить его к копии.
Закрытые и vendor locked решения в быту взлетают со скрипом, да и в промышленности — покупатель обычно знает что намерено берет контрафакт. Всегда интересовала мотивация вот этих всех исследований — они что правда делают мир лучше, защищеннее, ресурсо-эффективнее и экологиченее?
Вот из последнего — с того что я не могу слить прошивку с дальномера и дописать ей uart выход — кто вообще больше страдает? Производитель дальномеров который мог бы продать их в 2 раза больше хоббистам, или я — который просто купит другой дальномер?
1. производитель обычно защищен патентом, но китай плюет на патенты и дефакто патенты приносят пользу только юристам, а платит за них в конце потребитель. Почему Китай не бойкотируют за презрение к патентному праву. Потому что та же компания хочет иметь дешевый рынок труда? А чего тогда плакаться?
2. Я считаю что делать рипоффы не супер морально, и кстати последнее время в электронике не так часто их вижу. Однако ситуация странная — потребитель заплатит за мешающую ему защиту, а она все равно никому не помогает обычно.
3. Пример с дальномером кажется был совершенно ванильный — люди защитили прошивку, и снизили спрос на устройство. Зачем? Для чего? Вы говорите — они спасли свою инновацию. но помилуйте это консьюмерский рынок, уж дальномеры довольно давно все знают как делать. Как и картриджи или футболки. А если какой эксклюзив, так кажется голограмма с серийным номером решает вопрос.
Я вообще подозреваю что 3д принтеры хайпанули на деяниях Прюши и ему подобных которые открытым процессом разработки сделали все мейнстримом.
Я однако еще раз отмечу. Я понимаю что мои примеры и опыт маргинальны. И еще раз спрошу — можно ли реальные примеры того как инновация из статьи поможет и правда ли что компании которые делают vendor lock, проверки контрофакта, drm, закрытые стандарты в долгосрочной перспективе успешнее?
В стоматологических принтерах есть проблема контрафакта? Покупая расходник можно случайно купить подделку? Расходник стоит так дешево что его дорого защитить нынешними методами?
Раз вы решили зачем-то сказать про эти машины, может вам известен кейс промышленного шпионажа в области реверс инженерии таких принтеров? Или какие-то доказательства того что открытая прошивка подорвала бы бизнес компаний производителей? (не может ли так выйти что прошивка случайно содержит нелицензионно скопированные у сообщества GPL компоненты?)
Есть порт, есть разводка — но в прошивке стоит заглушка, хотя все функции за юарт на месте;
Весь функционал в прошивке рабочий, но либо не распаян разём, либо разъём на месте, нет копеечной обвязки (буквально пары резисторов и конденсаторов).
Но стоимость устройств с юарт и без различается раза в два.
И это не только юарт. Не впаивают юсб-разъём, второй светодиод.
Разбирал ещё ЭЛТ телек на запчасти, так там оказалось что он умеет спутниковое, только перемычку поставили.
И не понятно, какие такие расходы несёт производитель, если и так оно присутмтвует везде. Наоборот, не блокируй — будет конкурентным преимуществом.
Если сейчас некоему англоязычному собственнику компании-производителя прилетит тем же, да по тому же месту от китайцев — то это будет справедливо. Прапрадедушка собственника был пиратом, занимался пиратством и немало в том преуспел, и хоть собственнику и хочется подняться и закрыть за собой дверь — чтобы другие не поднялись, у него это не получится.
«Сколь ни бейся ты, Яга, а не выйдет нифига».
Так же интересен момент с повторным изобретением. В нынешней ситуации как то совершенно не допускается варианта когда одно и то же могут изобрести в разных местах и в разное время. Т.е. действует совершенно хамский вариант «кто первый встал — того и тапки».
Что же касается китайцев, то они в большей степени тырят массовый продукт. А пытаться заработать абсолютно на всех ну никак нельзя. Из-за этого заблуждения появляются всякие глупости вроде «упущенной прибыли». Поэтому, на мой взгляд, китайцы лишь поддерживают своеобразный баланс.
Поэтому я не могу ответить за все устройства вообще. Но данный метод как и любой метод идентификации своего потребителя найдет.
Что защита будет строго за счет покупателя, думаю, обсуждать не нужно. Нужно, разве что спросить, что еще в чип добавят: запрет включать его в неразрешенное время суток и на неразрешенной территории, или запрет чипу работать более часа в сутки (потому что вы купили «домашнюю» версию чипа, и мы на вас не так заработали, как на покупателе профессиональной)?
Ваш сценарий весьма интересен :), но все-таки пользователь получает то, за что платит. Если он купил чип, который должен работать не более часа в день, то, скорее всего, сознательно принял такое решение.
Теперь же копирование будет невозможно. И производитель сможет точнее нарезать, кому что можно.
Но!
Если сегодня чип стоит $100, а завтра $500 (да-да, это из серии, когда без «вины виноватые» юзеры заранее оплачивают механизм защиты от их потенциального желания своровать — т.е. мало что их ворами называли, так еще и заставили платить за защиту, которая для 99.9999% покупателей неактуальна (потому что — сюрприз! — они не воруют дизайн микросхем). Обидно и дорого!
Причем из 500 за чип все еще берется 100. Точнее, раньше бралось (когда была конкуренция). Но тут мудрый производитель решает, что 100 — маловато будет (раз уж никто не предложит не только за 100, но и за 1000), и ставит цену за чип $200. И цена в магазине стала $600 (мы же помним, что защита априори продается каждому, что как бы против ОЗПП, но копирайтный закон — сюрприз! — имеет в судах приоритет против какими-то там правами).
Еще раз — «спасибо» новой защите, мы вместо 100 стали платить за чип 600, при этом стимул улучшать его стал не большим, а меньшим.
А дальше рынок сегментируется — кому по «часу в день» (вы за это заплатите всего $900, вместо прежних 100), кому «HA-enabled» (примерно за $3800), а кто-то и Pro купит.
Раньше, заметьте, за $100 продавалась одна версия, Pro. И рынок (конкуренцией) держал производителя в тонусе. Сейчас же у него не будет и тени конкуренции, а доходы только вырастут.
Будущее — вот оно!
И, да, давайте договорим:
Производитель имеет право со своим железом давать любые ограничения, которые ему как разработчику хочется сделать. А вы как покупатель имеете полное право покупать или не покупать железку.
Покупатель имеет, я полагаю, право с купленной железкой делать что он захочет. В т.ч. и использовать ее, пока она не сгорит, а не только час из суток. И во всех остальных смыслах считать эту железку (один купленный экземпляр) своей, а не просто взятой за свои деньги на хранение у себя помощницу по аренде цифровых прав изготовителя.
А цифра то реальная?
А почему "первое коммерческое применение" в 2008? Ведь дырявили дискеты лазером и использовали нестабильно читающиеся сектора для защиты от копирования в незапамятные времена, при 5" дискетах. И вроде это тот самый случай: испортим дискету и сохраним, как именно испортили — при копировании испортить точно так же не удастся.
Или нет термина — нет и явления?
В утверждении "PUF защищает от копирования" ощущается некоторая наивность. Так или иначе, некий PUF-блок можно заменить на ПЗУ, и даже добавить туда нестабильность, если она потребуется. Просто больше возни, а отличия будут видны только при взгляде на кристалл в микроскоп.
С точки зрения софта/прошивок всё сведется к набору ID-шников, которые где-то будут записаны в табличном виде. Соответственно, проверка сведется к проверке наличия конкретного ID в этом списке.
Если говорить про комплекс мер (например DS28E01 с расшифровкой прошивки внутри FPGA или DSP/SoC), то для этого PUF совсем не обязателен.
Байка почти по теме:
Давным-давно, когда в ходу были дискеты и всяческие методы "защиты от копирования", я работал "программистом" в одной честной фирме. Честной — в том смысле, что они купили на все 5 бухгалтерских компов лицензии на софт с "ключевыми дискетами".
Первый месяц купленный софт более-менее работал, а потом начались проблемы с этими "ключевыми дискетами". Их поменяли один раз, потом еще раз, на третий я разозлился и сделал TSR, который перехватывал INT13, сравнивал сигнатуру у caller-а и при совпадении в нужном месте ставил jmp. Все.
А "ключевые дискеты" те были в чистом виде PUF, там куча секторов то не всегда читалась, причем с разной вероятностью на разных дисководах. Предполагаю что целый оркестр битов был записан с разным уровнем намагничивания. Поэтому некая вторая версия защиты предполагала процесс активации, т.е. выдавался некий код (зависящий от дисковода), который нужно было сообщить производителю и получить в ответ ключ...
Короче, уйма усилий была потрачено на защиту, которая лечилась примерно одним "гвоздем".
В конечном итоге ФНФ по сути ничем не лучше идентификаторов, но в данном случае они
а) уникальны для каждого чипа,
б) стабильно воспроизводятся,
в) их сложно скопировать и воспроизвести на идентичном чипе.
В случае нестабильности ПЗУ не факт, что удастся эту уникальность каждый раз стабильно воспроизводить
Но только никакой защиты от нелегального копирования/клонирования это не даёт. Собственно это и раздражает в заголовке.
Для защиты нужна привязка к PUF-ID — а вот тут начинается совсем другая история…
Добавлю про «нестабильность ПЗУ» — можно эмулировать с любой разумной точностью, записав в настоящее ПЗУ/EEPROM нужные коэффициенты (гейтов/транзисторов/площади конечно больше съест, но не суть).
Ну тут PUF совсем не обязателен. Нужен некий ID, который хранится и используется безопасным образом. Поэтому что-нибудь типа DS28E01 может быть более предпочтительным решением.
На всякий поясню:
- PUF даст вам некий фиксированный случайный ID для каждого устройства, при этом значение каждого такого ID неконтролируемое (случайное).
- в DS28E01 вы можете записать что хотите, в том числе более удобный (последовательный) серийный номер и один или несколько секретных ключей для расшифровки и т.д.
- суть такой защиты в использовании ID, который может хранится и без PUF.
- т.е. можно исключить из схемы PUF как пятое колесо.
PUF не является пятым колесом в данном случае. Обычный идентификатор после его загрузки в схему изменить будет невозможно, а в случае ФНФ его можно будет изменять, подав, например, другой запрос.
ID нужен чтобы отличать экземпляры, а защиту нужно делать отдельно.
С точки зрения изменяемости (или не изменяемости) запроса/ответа я вас не понял. Перепрошивку идентификатора можно разрешить или запретить, PUF всегда фиксирован. Разные запросы/ответы, то тут у вас какое-то недопонимание. Во-первых есть схемы обмена ключами и получения временных уникальных ключей по исходной соли без раскрытия секрета. При этом для PUF потребуются "отбеливание" (например посредством SHA256). Иначе будет кране высокая степень получения вырожденных преобразований и/или крайне низкая стоцкру к ряду аттак (т.е. взломщик сможет лекго восстановить функцию и заместить PUF).
Все-таки я не совсем понял насчет ID. Ради чего их отличать? Просто ради того, чтобы знать, что они различные? Я это говорю к тому, что любая защита от копирования так или иначе основана на какой-то уникальной для чипа информации, которую надо необходимо сверить, чтобы подтвердить подлинность.
в) их сложно скопировать и воспроизвести на идентичном чипе.Зачем их копировать? Тут всё очень похоже на любой биометрический датчик.
К примеру, сканер сетчатки. Чтобы обмануть сервер, мне не нужно подделывать сетчатку и сканировать её немодифицированным сканером. Достаточно вместо сканера подключить устройство, прикидывающееся сканером и отправляющее дамп, слитый с настоящего сканера при сканировании оригинала.
Или не может потратить чуть-чуть денег на студента, который ему расковыряет софт, общающийся с сервером авторизации, чтобы подменить идентификаторы при обмене.
Если эту статью рассматривать как познавательно-энциклопедическую, что вот мол есть такие вещи, то нормально. Но практический аспект для меня сомнителен.
Оно сложнее в производстве (мне так кажется, не знаю, как на самом деле), т.к. надо часть чипа делать как обычную логику, а часть — как flash-память. Потом записывать рандомный ключ в эту память.
А тут заранее образуется какой-то рандомный ключ, без лишних усилий. Вопрос только в качестве рандома.
Утечка ключа — небольшая проблема, т.к. ключи, которые используются сразу из нескольких географических локаций, можно просто банить на сервере.
Насчет генераторов ответ положительный. Разумеется, реализации исследовались на стандартных тестах (NIST, Diehard). В ссылке на мою статью, которая приведена в тексте, есть пример этого. На эту тему есть множество работ и статистические свойства генерируемых последовательностей изучались неоднократно.
Насчет шумящих диодов согласен. Они гораздо дешевле в использовании, но если имеется проект на ПЛИС, и добавить туда истинно случайный генератор на ФНФ не стоит больших ресурсов. Разумеется если делать генератор ради генератора, то это очень спорная затея. Однако люди до сих пор делают генераторы на ФНФ и это говорит о том, что зачем-то им это надо :) Подозреваю, что борются за быстродействие и снижение энергопотребления. В таком случае ресурсы отходят на второй план.
Подозреваю, что борются за быстродействие и снижение энергопотребления.Тут не соглашусь, ПЛИС сама по себе очень хорошо кушает. Энергия, требуемая на диодик — О малое от энергии для ПЛИС. Есть ли какие-то ещё направления, где эти вещи практически используются, кроме хаков для защиты интеллектуальных прав?
Что касается приложений, их не очень много. На данный момент мне известна компания, которая делает различные девайсы для безопасности: http://verayo.com/tech.php. Что касается остальных новостей, я в тексте привел ссылки на анонсы использования ФНФ в качестве ID компаниями Xilinx и Intel для серийных ПЛИС.
Если я вас правильно понимаю, то продукты, которые делает Verayo, немного шире «хаков для защиты интеллектуальных прав». Если нет, то поясните, пожалуйста.
Физически неклонируемые функции: защита электроники от нелегального копирования