1. Стоимость взлома как главный барьер
В области Hardware Security действует базовое правило: абсолютной защиты не существует. Любое электронное устройство можно реверсить, вскрыть и скопировать. Это лишь вопрос времени, денег и наличия специализированного оборудования — например, установок для послойного стравливания кремния или FIB-микроскопов (Focus Laser/Ion Beam).
Поэтому реальная задача разработчика — не создать «идеальный замок», а выстроить экономический барьер. Защита считается успешной, если стоимость её обхода (затраты на оборудование, оплату труда высококлассных инженеров и время на реверс-инжиниринг) превышает потенциальную коммерческую выгоду от копирования устройства. Злоумышленнику должно быть банально выгоднее купить лицензию или разработать аналог с нуля.
2. Сценарий: Атака доверенного производства («Третья смена»)
Передача фабрике-изготовителю (контрактному производству в Китае) полного комплекта документации и ПО — это стандартная практика и одновременно главный кошмар разработчика. Вы отдаете:
Гербер-файлы и спецификацию платы (BOM).
Финальный бинарный код микроконтроллера.
Тех процесс (скажем толщины масок для пасты), технологию тестирования.
Скомпилированный битстрим (rbf) для FPGA.
В этом случае классические методы защиты — шифрование прошивки на стороне разработчика или закрытие интерфейсов отладки (JTAG) фьюзами — не работают. Завод имеет легальный доступ ко всем файлам. Ничто не мешает ему запустить конвейер сверх оплаченного вами лимита, выпустить неограниченную партию «левых» клонов, залить туда ваши оригинальные прошивки и продать на рынке.
С точки зрения софта клон будет идентичен оригиналу. Но у него есть одна уязвимость, которую невозможно скопировать файлами — он собран на другом физическом кремнии. Именно эту разницу мы и используем для разрушения бизнес-модели бесконтрольного производства.
3. Архитектура решения: PUF на свободных задержках
Мы реализуем схему, при которой битстрим FPGA, переданный на завод, по умолчанию заблокирован. Чтобы устройство заработало, оно должно сгенерировать уникальный идентификатор, пройти валидацию на Вашем сервере и получить индивидуальный ключ.
Вместо хранения секретного ключа в энергонезависимой памяти, мы заставляем FPGA вычислять его «на лету» с помощью PUF (Physically Unclonable Function) — физически неклонируемой функции, основанной на уникальных наноструктурных дефектах кремния.
Логика работы системы делится на четыре этапа:

Как же эта "магия" работает? Разобьем технологию на 4 этапа.
Этап 1. Снятие слепка кристалла
Из-за микроскопических и неустранимых погрешностей литографии при производстве полупроводников, транзисторы даже в соседних чипах на одной кремниевой пластине работают с разной скоростью. Разница составляет пикосекунды, но она стабильна для конкретного чипа.
Внутри FPGA мы размещаем кольцевые генераторы (Ring Oscillators) и подключенные к ним счетчики. Запуская их одновременно, мы фиксируем стабильную разницу их частот. Это — цифровой «отпечаток пальца» кристалла.
Этап 2. Проверка лимитов на сервере
При первом включении на заводском стенде FPGA «вычисляет чистый» PUF-слепок и отправляет его на Ваш удаленный сервер. Устройство на данном этапе ничего не знает о ключах. Сервер сверяет запрос со своей базой данных: если лимит токенов (выпущенных лицензий) для данной фабрики не исчерпан, сервер уменьшает баланс доступных устройств. Если лимит равен нулю — сервер отклоняет запрос, предотвращая появление «третьей смены».
Этап 3. Формирование пакета («Крипто-ключ»)
Сервер берет присланный PUF-отпечаток, подмешивает криптографическую соль и шифрует данные. Формируется индивидуальный, закрытый блок данных — «крипто-ключ». Этот процесс происходит исключительно на стороне сервера, скрывая математику шифрования от глаз фабрики. Готовый пакет отправляется обратно на устройство, которое просто записывает его «как есть» в энергонезависимую память, а затем просто считывает и передает в вычислитель PUF FPGA.
Этап 4. Отложенный саботаж
Если проверка не прошла, устройство не блокируется мгновенно. Иначе хакер сразу поймет, в какой точке сработала защита, и начнет искать инструкцию ветвления. Но, если плата штатно работает около 5 минут (логику "около" крайне рекомендовано внедрять) тут возникают "непонятки", ведь на заводе нет точного понимания качества сборки и "бракованности" компонентов.
4. Криптографический ключ и защита от Replay-атак
Когда мы говорим о передаче активационного блока данных с сервера на устройство, критически важно защитить этот канал от перехвата. Если сервер будет возвращать статический ключ, хакеру на заводе не потребуется взламывать FPGA. Ему достаточно перехватить один правильный пакет в сетевом трафике и записывать его в энергонезависимую память всех последующих нелегальных копий плат.
Чтобы этого не произошло, криптографический ключ и сопутствующий пакет активации должны быть жестко привязаны к физическому слою кремния.
Математика генерации токена активации:
Процесс регистрации устройства на заводском стенде выглядит следующим образом:
Сбор сырого отпечатка: FPGA запускает кольцевые генераторы и формирует сырой массив данных разности частот PUF.
Передача на сервер: Этот массив (Challenge Response) отправляется на сервер производителя. Сам по себе он не является секретом — это просто уникальный шум конкретного кристалла.
-
Формирование криптографического ключа на сервере:
Сервер проверяет лимит доступных токенов для данной партии.
Если лимит не исчерпан, сервер с помощью криптографической функции формирования ключа генерирует уникальный мастер-ключ устройства и секретную серверную соль.
Для обеспечения стабильности (ведь физический PUF-отпечаток имеет погрешность из-за температуры) сервер рассчитывает вспомогательные данные для коррекции ошибок — Helper Data (код Хэмминга или BCH-код).
Упаковка «шифровки»: Сервер формирует монолитный зашифрованный пакет, содержащий HelperData, зашифрованную конфигурацию и контрольную сумму (HMAC). Этот пакет отправляется обратно на устройство и зашивается в NVM платы.
Почему Replay-атака не сработает?
Если злоумышленник скопирует весь дамп NVM (вместе с Helper Data и зашифрованным ключом) с легальной платы на клон:
При старте клон считает свои собственные физические параметры PUF.
Попытается применить скопированные HelperData для восстановления ключа.
Поскольку базовые физические свойства кремния у клона кардинально отличаются, алгоритм коррекции ошибок не сможет свести зашумленный отпечаток к оригинальному значению.
В результате FPGA сгенерирует абсолютно случайный, "кривой" криптографический ключ. Контрольная сумма пакета (HMAC) не совпадет, и устройство зафиксирует факт взлома.
Таким образом, ключ валиден только на одном-единственном физическом кристалле, для которого он был рассчитан на сервере.
В чем экономическая эффективность?
Схема перекладывает финансовое бремя защиты на взломщика:
Прямое клонирование бесполезно: Копии плат без валидного ключа превращаются в неработоспособный хлам через 5 минут после включения.
Высокая стоимость реверс-инжиниринга: Чтобы запустить клоны, заводу придется декомпилировать битстрим FPGA (netlist), вручную искать запрятанные среди тысяч ячеек кольцевые генераторы, счетчики и логику саботажа, а затем модифицировать проект. Затраты на оплату сотен часов работы инженеров такого уровня полностью уничтожают маржинальность кражи чужого устройства.
Математика брутфорса против перебора пар: Попытка обойти защиту лобовым перебором ключей или конфигураций генераторов полностью разбивается о комбинаторику. Предположим, в нашей системе развернута матрица всего из N = 128 кольцевых генераторов. Количество уникальных пар, которые можно из них составить для сравнения частот, вычисляется через число сочетаний:
Каждая пара генераторов в результате сравнения выдает ровно 1 бит информации (кто оказался быстрее). Даже если для формирования финального криптографического ключа мы берем не все пары, а только линейно независимое подмножество из 64 стабильных комбинаций, пространство состояний для брутфорса составит 2^64 вариантов. Если бы у злоумышленника был суперкомпьютер, способный проверять по 1 миллиарду (10^9) ключей в секунду, время полного перебора составило бы:
Ситуацию для взломщика усложняет и наш 5-минутный таймер: из-за того, что устройство начинает умышленно глючить, автоматизировать перебор на реальном железе физически невозможно. Математика делает атаку перебором бессмысленной, оставляя пиратам только экономически неокупаемый реверс-инжиниринг битстрима.
Рассмотрим однако реальную физику. Предположим после жесткого отсева по температурной стабильности и флуктуациям питания (PVT-вариациям) мы выбрали из них всего K = 11 надежных пар для формирования уникального идентификатора. Пространство вариантов ключа в таком случае составляет 2^{11} = 2048 комбинаций. Если же стабильных пар удалось выжать чуть больше — например, K = 15, то пространство вариантов расширяется до 2^{15} = 32768 комбинаций. Казалось бы, для современного ПК перебрать 32 тысячи вариантов — дело доли секунды. Но злоумышленник привязан к физической плате клона. Чтобы проверить, подошел ли ключ, ему нужно запустить устройство и дождаться прохождения 5-минутного интервала. Если ключ неверный — через 5 минут плата начнет глючить. Посчитаем время перебора для худшего (K = 11) и лучшего (K = 15) сценариев: При K = 11 (2048 комбинаций):
При K = 15 (32768 комбинаций):
Таким образом, даже при минимальном наборе из 11 стабильных бит взломщику потребуется неделя непрерывного сидения у одной платы, чтобы вручную или по UART перебрать ключи, постоянно перезагружая устройство по питанию каждые 5 минут. При 15 стабильных парах процесс растягивается почти на 4 месяца. Учитывая, что китайский завод планирует тиражировать клоны тысячами, тратить по 100 дней работы инженера и тестового стенда на запуск каждого отдельного экземпляра устройства — это экономическое самоубийство. Математика времени ожидания делает атаку на реальном железе абсолютно бессмысленной.
Физический слой: Схема Ring Oscillator внутри FPGA
Чтобы получить уникальный цифровой слепок, нам нужно построить схему, которая реагирует на наноструктурные различия кремния. В FPGA для этого идеально подходит Ring Oscillator PUF (RO-PUF) — кольцевой генератор на базе задержек в логических элементах.
Как устроен генератор на LUT
Внутри любой FPGA базовым вычислительным кирпичиком является LUT (Look-Up Table) — таблица истинности, на которой синтезируется любая комбинаторная логика. Кольцевой генератор создается путем последовательного соединения нечетного количества инверторов в замкнутую петлю.

Синхронный старт: Сигнал
Enableодновременно запускает два генератора (RO 1иRO 2).Накопление: Каждый генератор тактирует свой собственный независимый быстрый счетчик (например, 16-битный).
Остановка: Ровно через фиксированное количество системных тактов (или когда один из счетчиков переполнится) оба генератора останавливаются.
Вычисление разности: Из показаний первого счетчика вычитаются показания второго:
Значение Delta и является стабильной разницей, которая уникальна для этой конкретной пары LUT на этом конкретном чипе на этом конкретном LUT.
Главные грабли: Температурный дрейф и напряжение
Физика кремния накладывает жесткое ограничение: при изменении температуры кристалла и флуктуациях напряжения питания (PVT-вариации) скорость работы LUT меняется. При нагревании кремния сопротивление каналов растет, и частота генераторов падает.
Если спроектировать схему «в лоб», то устройство, активированное на заводе при +25°C, на морозе в -10°C или в закрытом корпусе при +60°C выдаст совершенно другую разницу счетчиков, не примет легальный ключ и уйдет в саботаж.
Как с этим бороться в практической реализации?
Симметричная топология (Hard Macros):
Нельзя отдавать размещение генераторов на откуп автоматическому трассировщику (Place & Route) в Квартусе или Вивадо. Их нужно жестко запереть в соседних логических блоках (LAB/SLICE) с помощью атрибутов локализации (например,LOCограничений). Они должны находиться на расстоянии микронов друг от друга. В таком случае внешняя температура нагревает или охлаждает их абсолютно одинаково, и тепловой дрейф частоты взаимно уничтожается при вычитании.Метод пары лидеров (RO Ordering):
Вместо использования абсолютного значения разницы Delta, берется только знак результата (бинарный выбор). Мы сравниваем не «на сколько один быстрее другого», а просто определяем, кто из них выиграл гонку:
3. Для формирования длинного ключа создается матрица из десятков таких генераторов, и сравниваются пары с гарантированно сильным разбросом частот!!! Нужен гарантированный "запас", если счетчики приблизительно равные, то им доверять нельзя!!! Знак разности между физически быстрой и физически медленной ячейками не изменится даже при экстремальном нагреве или охлаждении (хотя вы сами должны провести эксперименты на температурную стабильность).
4. Хелперы на стороне сервера:
Как мы уже упоминали в главе про криптографию, сервер рассчитывает избыточные данные (Helper Data) для кодов коррекции ошибок. При запуске FPGA использует эти данные, чтобы аппаратно «дотянуть» слегка уплывшие от температуры счетчики до эталонного заводского состояния, прежде чем генерировать финальный ключ. Это важно!
Чтобы не быть голословным. Вот пример реализации на Verilog (только счетчики):
verilog
// Модуль одного кольцевого генератора (Ring Oscillator) module ring_oscillator #( parameter STAGES = 3 // Количество инверторов (обязательно нечетное) )( input wire enable, output wire osc_out ); // Атрибуты для запрета оптимизации и объединения LUT-ячеек (* keep = "true" *) (* syn_keep = "true" *) wire [STAGES:0] delay_chain; // Первый элемент — И-НЕ (NAND) для управления запуском assign delay_chain[0] = ~(delay_chain[STAGES] & enable); // Цепочка инверторов genvar i; generate for (i = 0; i < STAGES; i = i + 1) begin: puf_chain (* keep = "true" *) (* syn_keep = "true" *) assign delay_chain[i+1] = ~delay_chain[i]; end endgenerate // Выход генератора assign osc_out = delay_chain[STAGES]; endmodule // Топ-модуль измерения PUF: два генератора и счетчики разности module puf_measurement ( input wire clk, // Системный тактовый сигнал input wire rst_n, // Сброс (активный низкий) input wire start_puf, // Команда на запуск измерения output reg puf_ready, // Флаг окончания замера output reg [15:0] puf_delta // Итоговая разница счетчиков ); wire osc1_out; wire osc2_out; reg enable_oscillators; reg [15:0] ref_timer; reg [15:0] counter1; reg [15:0] counter2; // Первый кольцевой генератор ring_oscillator #(.STAGES(3)) ro1 ( .enable(enable_oscillators), .osc_out(osc1_out) ); // Второй кольцевой генератор ring_oscillator #(.STAGES(3)) ro2 ( .enable(enable_oscillators), .osc_out(osc2_out) ); // Логика счета на асинхронных часах от RO always @(posedge osc1_out or negedge rst_n) begin if (!rst_n) counter1 <= 16'd0; else if (enable_oscillators) counter1 <= counter1 + 1'b1; end always @(posedge osc2_out or negedge rst_n) begin if (!rst_n) counter2 <= 16'd0; else if (enable_oscillators) counter2 <= counter2 + 1'b1; end // Управляющий автомат на системной частоте always @(posedge clk or negedge rst_n) begin if (!rst_n) begin enable_oscillators <= 1'b0; ref_timer <= 16'd0; puf_ready <= 1'b0; puf_delta <= 16'd0; end else begin if (start_puf && !enable_oscillators && !puf_ready) begin // Старт замера enable_oscillators <= 1'b1; ref_timer <= 16'd0; puf_ready <= 1'b0; end else if (enable_oscillators) begin // Ограничиваем время замера по системному таймеру (например, 1000 тактов) if (ref_timer >= 16'd1000) begin enable_oscillators <= 1'b0; puf_ready <= 1'b1; // Вычисляем разницу puf_delta <= counter1 - counter2; end else begin ref_timer <= ref_timer + 1'b1; end end else if (!start_puf) begin puf_ready <= 1'b0; end end end endmodule
6. Борьба с компилятором: Физические ограничения размещения (Placement Constraints)
Написать код кольцевого генератора на Verilog — это только треть дела. По умолчанию компиляторы (Quartus, Vivado) заточены под оптимизацию таймингов и энергопотребления. Если оставить проект как есть, САПР совершит одну из двух ошибок:
Разнесет инверторы по разным углам кристалла. Длина трассировочных дорожек между LUT станет случайной. В итоге ваш PUF будет измерять не уникальные свойства транзисторов в кремнии, а то, как "навычислял" алгоритм автоматического размещения (Place & Route).
Сгруппирует их слишком хаотично от чипа к чипу. Разводка внутри пар генераторов будет неидентичной.
Чтобы PUF выдавал стабильные и воспроизводимые результаты, пары кольцевых генераторов должны быть размещены максимально близко друг к другу (в соседних ячейках) и иметь абсолютно одинаковую геометрию связей. Достигается это с помощью жестких ограничений (Floorplanning).
Ниже приведены практические примеры того, как запереть генераторы в конкретных аппаратных координатах кристалла.
Реализация для AMD/Xilinx Vivado (XDC constraints)
В Vivado для жесткой фиксации элементов используются свойства BEL (Basic Element — конкретный LUT внутри слайса) и LOC (координата самого Slice на кристалле). Также мы упаковываем элементы в логическую группу PBLOCK, чтобы запретить трассировщику прокладывать сторонние цепи через наш PUF.
Предположим, наш модуль RO развернут в иерархии проекта как inst_puf_meas/ro1 и inst_puf_meas/ro2.
tcl
# Запрещаем оптимизацию цепей обратной связи на этапе оптимизации (Design Optimization) set_property DONT_TOUCH true [get_cells inst_puf_meas/ro1/delay_chain*] set_property DONT_TOUCH true [get_cells inst_puf_meas/ro2/delay_chain*] # Фиксируем инверторы первого генератора (RO1) в Slice X0Y50 set_property LOC SLICE_X0Y50 [get_cells inst_puf_meas/ro1/puf_chain[0].puf_lut] set_property BEL A6LUT [get_cells inst_puf_meas/ro1/puf_chain[0].puf_lut] set_property LOC SLICE_X0Y50 [get_cells inst_puf_meas/ro1/puf_chain[1].puf_lut] set_property BEL B6LUT [get_cells inst_puf_meas/ro1/puf_chain[1].puf_lut] # Фиксируем инверторы второго генератора (RO2) строго параллельно в соседнем Slice X1Y50 set_property LOC SLICE_X1Y50 [get_cells inst_puf_meas/ro2/puf_chain[0].puf_lut] set_property BEL A6LUT [get_cells inst_puf_meas/ro2/puf_chain[0].puf_lut] set_property LOC SLICE_X1Y50 [get_cells inst_puf_meas/ro2/puf_chain[1].puf_lut] set_property BEL B6LUT [get_cells inst_puf_meas/ro2/puf_chain[1].puf_lut] # Указываем трассировщику использовать идентичные ресурсы для соединений (Routing) set_property LOCK_PINS {I0:A6} [get_cells inst_puf_meas/ro1/puf_chain[*].puf_lut] set_property LOCK_PINS {I0:A6} [get_cells inst_puf_meas/ro2/puf_chain[*].puf_lut]
7. Механизм отложенного саботажа: Почему именно 5 минут?
Частично я объяснял выше, но:
Если устройство проваливает проверку ключа активации, стандартная реакция большинства систем защиты — мгновенная блокировка (глухой «кирпич»). С точки зрения реверс-инжиниринга это грубейшая ошибка. Хакер, подключив осциллограф, логический анализатор или внутрисхемный отладчик, сразу видит четкую точку на временной шкале: «Подали питание — через 50 миллисекунд устройство отключилось». Это позволяет за пару часов локализовать кусок логики FPGA, отвечающий за проверку.
Мы усложняем задачу, разрывая причинно-следственную связь во времени с помощью двух приемов:
Таймер задержки (5 минут): После включения устройство честно и абсолютно корректно выполняет все свои функции в течение 300 секунд. Злоумышленник на тестовом стенде уверен, что его взлом или обход удался — плата работает, данные идут, и мало того в первых партиях вообще не увидит подвоха.
Имитация аппаратного сбоя вместо выключения: По истечении 5 минут FPGA не выключается. Специальный блок саботажа начинает умышленно, но хаотично генерировать «глюки».
Примеры реализации скрытых глюков в FPGA:
Искажение шин данных: Подмешивание случайного бита (инверсия) в потоки SPI, I2C или UART раз в несколько секунд. Для стороннего наблюдателя это выглядит как плохой кабель или наводка по питанию.
Сдвиг фазы/таймингов: Внутренний блок фазовой автоподстройки частоты (PLL) делает микроскопический сдвиг фазы тактового сигнала для внешней памяти DDR или контроллера дисплея. Память начинает сыпать циклическими ошибками (CRC errors).
Порча контрольных сумм: Логика FPGA начинает портить каждый сотый пакет сетевого интерфейса (Ethernet/CAN). Устройство теряет связь, но софт считает это «проблемой на линии».
-
Генерация шума в звуковом тракте: Если устройство работает с аудиопотоками, через 5 минут после старта блок саботажа в FPGA резко и бесцеремонно заменяет легальный аудиосигнал на шине I2S/AC97 на максимальный по амплитуде белый шум или жесткий высокочастотный писк (генератор меандра на максимальной громкости).Устройство начинает пищать или гудеть. В чем инженерная красота такого лобового удара? Любой hardware-инженер, столкнувшись с резким белым шумом или свистом в динамиках через 5 минут после включения, на 100% будет уверен, что это аппаратная проблема:
Самовозбуждение операционных усилителей в аналоговом тракте из-за нагрева.
Пробой конденсатора в цепи фильтрации питания.
Тепловой дрейф опорного генератора (MCLK) ЦАП, из-за которого поплыла синхронизация.
Заводские хакеры проведут недели за осциллографами, будут заливать плату фризером, перепаивать микросхемы ЦАП и менять обвязку, пытаясь победить этот «дефект прогрева платы». Им и в голову не прийдет (в первое время), что этот шум генерирует идеально работающий цифровой автомат внутри FPGA, который просто не дождался ключа.
Подобный подход заставляет хакеров тратить недели на поиск несуществующих багов в софте, схемотехнике или разводке платы, делая реверс-инжиниринг экономически нецелесообразным.
Заключение
Использование физически неклонируемых функций (PUF) на базе кольцевых генераторов в FPGA переводит противостояние с недобросовестными производителями из плоскости «кто лучше спрятал прошивку» в плоскость чистой инженерной экономики.
Передавая фабрике полный комплект софта и Gerber-файлов, вы больше не рискуете потерять продукт. Каждая собранная плата — это всего лишь кусок текстолита с кремнием, который не имеет ценности без индивидуального цифрового слепка, рассчитанного на вашем сервере. Ломая бизнес-модель «третьей смены» и заставляя клоны непредсказуемо глючить, вы делаете пиратское тиражирование вашего устройства экономически бессмысленным.
...перед запуском:
Перед тем как отправить финальные файлы на завод и запустить сервер активации, проверьте вашу систему защиты по следующим пунктам:
Проверка температурного диапазона: Проверено ли поведение PUF-счетчиков при крайних температурах (например, в климатической камере при -20°C и +60°C)? Гарантирует ли шаг кодов коррекции ошибок (Helper Data) восстановление оригинального ключа при экстремальном нагреве?
Анализ уникальности (Inter-distance): Прошить тестовый битстрим в 20-30 разных физических плат? Убедиться что разница счетчиков между разными чипами достаточно велика ( Hamming distance близко к 50%), чтобы сервер не перепутал платы между собой?
Физическая изоляция в САПР: Запрещена ли трассировщику оптимизация цепей PUF? И зафиксирован ли жестко PUF блок в координатах кристалла, иначе если вы захотите выпустить обновление, у вас получиться провал. Ибо при компиляции QUARTUS например положит PUF в другое место кремния, и тогда правильный ключ перестанет "быть правильным".
Защита от Replay-атак на сервере: Использует ли сервер одноразовые криптографические соли (nonces) и счетчики при обмене данными, чтобы перехваченный трафик первой активации нельзя было повторно использовать для клона?
Размазывание логики саботажа: Насколько глубоко блок 5-минутного таймера и генератор «глюков» внедрены в основную логику FPGA? Если хакер сможет локализовать и вырезать сам блок PUF, заблокирует ли это работу основного алгоритма устройства?
Логирование лимитов: Настроена ли на сервере система моментального оповещения (Alerts) при попытке запроса ключа активации сверх оплаченного лимита токенов? (Это ваш главный маркер того, что завод начал «третью смену»).
Защита от FPGA лаборатории: не используйте стандартные алгоритмы шифрования на стороне FPGA типа AES или XTEA, их видно прямо в битстриме, но если нет вариантов, модифицируйте стандартный алгоритм, не то чтобы до неузнаваемости, поменяйте следование таблиц (AES) или добавьте лавинный XOR (XTEA). Не используйте обычную обфускацию, её может увидеть алгоритм.
Хочу прямо уточнить, я пишу статьи о реально работающих приборах, алгоритмах и/или о том что сам проверял.
За сим завершаю. Надеюсь мои изыскания будут полезны. С уважением и наилучшими пожеланиями, Михаил.
Комментарии (188)

nerudo
17.07.2026 18:39Крутая технология. В самолеты оборудование ставите?

ramfactory Автор
17.07.2026 18:39Самолет это объект повышенной опасности, компоненты тут производятся или на аффилированных заводах или в соседнем цеху. Зачем такой вопрос? Чтобы спросить? Ну глупо же. Не?

ramfactory Автор
17.07.2026 18:39Переборщил с иронией... Вопрос про самолёты нормальный. Но в авиации жесткий контроль, спецсертификация и закрытые заводы. Защита исключительно для бытовых приборов, для аэрокосмических технологий увы нет.

Kitsok
17.07.2026 18:39Запуская их одновременно, мы фиксируем стабильную разницу их частот.
А температура на это не влияет разве?

Darkness_Paladin
17.07.2026 18:39Видимо, расчёт на то, что на расположенные в одном кристалле генераторы температура повлияет одинаково.

VsBirdEye
17.07.2026 18:39Решение глубоко проработанное с одной стороны. Однако с другой стороны мне видится неверной оценка затрат на реверс - с приходом llm на это поле время и стоимость на то, чтобы разобрать прошивку fpga уменьшится на порядки. Дело лишь в наработке инструментов и подходов. И вот тогда опция выпиливания функций саботажа и проверки активации из бинарных прошивок станет намного реалистичнее.

ramfactory Автор
17.07.2026 18:39Да, есть такое, однако есть тема выпуска обновлений, и каждое обновление придется "распиливать", например можно добавить несколько скрытых ключей, которые живут в прошивке и никак себя не проявляют, однако присутствуют на этапе "завода", ключики зашифрованные различными алгоритмами с ассиметричным ключом шифрования (расшифровать им можем, а вот подготовить таким ключиком "секретик" не можем). И тогда для "продавца контрафакта" начинается "пакость", так как пользователь вынужден ждать милости свыше, когда же сломают актуальную прошивку, таким образом "контрафакт" превращается в гонку и неизбежно вызывает недовольство конечного пользователя.

SokilOff
17.07.2026 18:39Да не будет никто заморачиваться обновлениями. Один раз сделают аппаратный клон, скопируют прошивку без непонятных мест, эти места "доработают напильником" (тупо пропатчат) если надо, и выпустят примерный аналог по более низкой цене. Всё. А дальше порешает рынок.

olku
17.07.2026 18:39О, сейчас с софтом похожее. По качественной документации и скриншотам группа агентов делает клон за неделю. Человек все равно нужен как писатель приемочных тестов если их негде взять

BURAKKu
17.07.2026 18:39На личном опыте это проверил, подключил несколько mcp, написал пару своих скиллов, отладил это за неделю и оставлял на пару часов реверсить бинарники. Почти всегда удавалось полностью восстановить исходный код и найти блоки с защитой или в тупую их пропатчить, даже если они не вызывались. Тестовые* кейсы были гораздо сложнее из-за размеров бинарей и около 150 блоков зашифрованного динамического кода с серверов работающих абсолютно по разному для защиты от реверса, при провале любого теста сразу бан. Разобрать микроскопическую прошивку микроконтроллера на атомы будет не так сложно. Из моих наблюдений не так уж и много людей занимались подобным, пока начнут массово так делать пройдет время. В общем идея мне понравилась, но уже поздновато, лишь вопрос времени когда это будет массовая история

Disasm
17.07.2026 18:39Да даже без LLM, сейчас уже yosys и опенсорсные P&R тулчейны есть, в которых можно вполне анализировать разные битстримы уже сейчас для каких-то FPGA. Дальше остаётся вопрос реализации алгоритма поиска осцилляторов (что не должно быть сложно) и присоединённых к ним цепей. Мне эти тулчейны в своё время очень помогли понять пинаут платы, от которой только битстрим был: достаточно было посмотреть на IO примитивы и их конфигурацию.

anzay911
17.07.2026 18:39Что мешает заливать прошивку у других китайцев или вовсе у себя?

Darkness_Paladin
17.07.2026 18:39Жадность мешает. "У других китайцев" заливать смысла нет, если устройство того стоит (что вряд ли, но допустим), те и эти китайцы мигом найдут друг друга и договорятся. А "у себя" заливать -- это надо наших людей нанимать на прошивку и упаковку, за деньги, а не за миску риса.

Newbilius
17.07.2026 18:39Уверены, что "жадность", а не "экономика сходиться перестанет, работать начнём в 0 / в минус"?)

select26
17.07.2026 18:39экономика сходиться перестанет, работать начнём в 0 / в минус"?)
Какая же это экономика, если она в минус сразу уходит от добавления единственной стадии прошивки?

akakoychenko
17.07.2026 18:39Интересная задачка для китайцев выходит
К сожалению, не знаком с проектированием плат, но, правильно ли понимаю, что китаец, анализируя схему и расположение компонент + многократно запуская вычисление puf при разных температурах на одних и тех же платах, может вполне себе отделить зерна от плевел, и понять значимую часть отправляемого ключа? А, поняв значимую часть ключа, можно начать совпадающие запросы кешировать, наплевав на незначимую часть запроса? Ну а там уже накопленный cache hit даст точное количество безопасных запусков для третьей смены, чтобы честно активировать их все, даже при 100% cache miss?

ramfactory Автор
17.07.2026 18:39Суть в том что в битовом потоке для FPGA зашита логика шифрования жестко завязанная на том как себя поведут кольцевые генераторы, чтобы "победить" нужно знать два фактора, как шифруется и каков ключ, в любом другом случае на удачу взлом, даже если отключить внутри "прошивки" FPGA защиту, выпилив её из логики, в следующем обновлении вся партия свалиться в "шлак". И кстати, из опыта, стоит только упомянуть про PUF на заводе, у производителя сразу отпадает желание "третьей смены".

schulzr
17.07.2026 18:39Спасибо за статью! А Altera , Xilinx не ставят специальный hard IP block на свои здоровые FPGA сейчас? (могу конечно, что-то перепутать). Вроде бы раньше шла речь о hard IP для random generator, который возможно тоже базируется на ring oscilator.
Еще вопрос, а как вы убеждаетесь, что ваш SoftIP блок будет действительно надежно работать на ПЛИС? Не может оказаться, что для некоторых партий железа шумы поведут себя сильно иначе?

ramfactory Автор
17.07.2026 18:39Ну, нет ничего идеального, PUF мало того что подвержен "температурным" флуктуациям, дык ещё и чип стареет. Однако PUF это распространенная практика, есть прямо отдельные чипы защиты основанные на PUF. А в новых или более дорогих FPGA есть свой блок UID, и тут вообще не нужен PUF, можно брать стабильный UID чипа как фактор защиты. В данном случае PUF используется чтобы получить уникальный ID чипа FPGA в котом нет соотв. блока.

ramfactory Автор
17.07.2026 18:39Есть товар который собрали и отдали заказчику, и который продает его через официальный магазин, а есть товар который едет "мимо" и продается "как попало". Обойти можно любую защиту, а критиковать много ума не надо. Это один из аспектов защиты, защита должна быть комплексной, например ассиметричное шифрование, которое завязано на UID ARM, который ставиться в устройство, а параметры открытого ключа скажем напрямую завязать с настройками тактовых частот и вообще с логикой работы устройства, и использовать этот как первичную подпись, тогда сразу будет видно контрафакт. И если столкнулись с контрафактом неработоспособное устройство можно вернуть "не честному продавцу", которого моментально остудит поток возвратов.

Newbilius
17.07.2026 18:39Проблема в том (потенцильная), что клиент с некоторой долей вероятности не будет разбираться, "я подделку купил" или "бренд скурвился". Вернёт и купит уже что-нибудь от другой фирмы. Но это актуально, конечно, для товаров потребительского рынка, где большинство покупают на маркетплейсах, а не идут в фирменный магазин или поставщику) Для каких-то товаров ваша схема великолепна, для каких-то - губительна. Т.к. в посте только техническая реализация, без обсуждения ниши и типа товара - потому и идут бесконечно длинные треды на тему "а что если..."?

victoria_komarova
17.07.2026 18:39Проблема не только в Китае. Контрактный производитель с доступом к документации представляет такой риск

Astroscope
17.07.2026 18:39Проблема не только в Китае.
Проблем только в Китае. Объясню ниже.
Контрактный производитель с доступом к документации представляет такой риск
Верно. Но потенциальное желание контрактного производителя воспользоваться чужой интеллектуальной собственностью имеет весомый противовес в виде законов и более-менее адекватной практики правоприменения. Этот противовес работает в большинстве стран мира и точно во всех развитых странах. Кроме Китая. Неважно, какие хорошие законы там, важна практика. А на практике вы никогда не выиграете суд против китайского контрактного производителя, какие бы законы он не нарушил и какую бы интеллектуальную собственность он у вас не украл.

vadimr
17.07.2026 18:39На практике вообще сложно выиграть суд в другом суверенном государстве, и Китай здесь не оригинален.

Darkness_Paladin
17.07.2026 18:39Гениально. (:sarcasm:)
Скрытый текст
Китаец делает ТОЧНЫЕ копии (на том же оборудовании ведь) твоего девайса, которые через пять минут перестают работать из-за модуля саботажа, и спокойно их продаёт. Люди их покупают, обнаружив неисправность, обращаются К ТЕБЕ за гарантией, как написано в твоём техпаспорте на этот чудо-прибор... Ты их посылаешь нафиг, говоря, что они купили контрафакт. Через пару недель интернет полон историй о том, как ты обманываешь народ, выпуская брак и отказываясь его менять/чинить. Начинаются суды, где ты не можешь доказать, что "контрафакт" чем-то отличается от твоих устройств, и суду всё ясно: ты просто пытаешься уклониться от исполнения гарантийных обязательств по своей продукции, объявляя неисправные устройства поддельными. Конские штрафы и выплата компенсаций. И вот, через полгода, идёшь ты по улице в трусах и тапочках (всё остальное забрали приставы), и даже бомжи плюют тебе вслед, а завидев тебя издалека, брезгливо переходят на другую сторону улицы. Ещё через полгода ты тихо помираешь от пневмонии где-то в коллекторе теплотрассы. Другие бомжи находят твой труп, выносят и выбрасывают его в ближайшей лесополосе. Весной его найдут, но не смогут опознать подранные бродячими собаками останки. Их кремируют без церемонии, вместе с биологическими отходами больниц, и выбросят пепел в мусорный контейнер, откуда его вывезут на полигон Тимохово.
Всё правильно. Именно так и должно быть с теми, кто не понимает, что саботаж -- это ВСЕГДА плохо.

Kelbon
17.07.2026 18:39судя по стилю очень напоминает ллм статью, так что я не уверен существует ли это в реальности

LinkToOS
17.07.2026 18:39Начинаются суды, где ты не можешь доказать, что “контрафакт” чем-то отличается от твоих устройств
Система выглядит примерно так:
Контрактный производитель гарантирует что каждый прибор имеет свой уникальный номер. Когда разработчик получает деньги от продажи конкретного прибора, он имеет информацию о номере прибора связанного с этим конкретным платежом.
После покупки продукт регистрируется на сайте разработчика по уникальному номеру. После этого он получает право на поддержку и гарантийное обслуживание.
Процесс идет нормально до первой коллизии, с появлением дублирующихся номеров. Потом идет разбирательство, и смена системы нумерации.
На сайте разработчика есть сервис по проверке легальности номера. Все что не проходит проверку считается контрафактом. Это обычная практика.
randomsimplenumber
17.07.2026 18:39После этого он получает право на поддержку и гарантийное обслуживание.
Звуки закона о зашите прав потребителей..
Это обычная практика.
В каком то узком кругу. Примеры есть?

svpcom
17.07.2026 18:39По закону о зашите прав потребителей отвечает в первую очередь продавец. Собственно если вы купили китайский генератор, то при поломке в течении гарантийного срока вы идете к продавцу, а не неизвестному производителю из китайской промзоны.

randomsimplenumber
17.07.2026 18:39Все так и есть ;) ну и существует ненулевая вероятность, что и бренд и продавец - однодневки, и что за гарантией обращаться будет не к кому. Ну и если купил Макиту у цыган на заправке - воще странно ожидать что у нее есть серийный номер ;)

Darkness_Paladin
17.07.2026 18:39Продавец -- это просто посредник. Он отвечает "в первую очередь" лишь потому, что это удобно покупателю. Если я в Сибири купил ботинки от белорусской фабрики -- конечно, мне удобнее решать вопросы с гарантией через местного продавца, у которого я их купил, а не напрямую с фабрикой. Но если я в этих ботинках приехал из сибири в белорусь, и там они рассыпались, закон не обязывает меня возвращаться в сибирь, чтоб предъявить претензии через продавца, я могу предъявить их непосредственно фабрике, если мне так удобнее.
И банкротство магазина не "сжигает" гарантию, к слову сказать. Вот у меня телевизор -- магазина, где я его покупал, больше нет, но если б гарантия на телек ещё была, я был бы вправе обращаться по гарантии не через магазин, а напрямую к производителю.

LinkToOS
17.07.2026 18:39Начинаются суды, где ты не можешь доказать, что “контрафакт” чем-то отличается от твоих устройств, и суду всё ясно: ты просто пытаешься уклониться от исполнения гарантийных обязательств по своей продукции
Для простого пользователя судебное разбирательство это тоже большая боль. Реально на это могут пойти только крупные заказчики. Но вероятность того, что крупный заказчик будет покупать мимо официального разработчика, довольно мала. Так что основной ущерб будет идти именно через потерю репутации, а не через решения судов.

Darkness_Paladin
17.07.2026 18:39Иски по ЗоЗПП не облагаются госпошлиной, можно сутяжничать, сколько не лень.

LinkToOS
17.07.2026 18:39Так ведь сразу лень. Поэтому обычно все ограничивается гневным отзывом в интернете.

ramfactory Автор
17.07.2026 18:39Столько желчи, пафоса и времени ушло на придумывание про бомжей.
И интересно посмотреть на людей, которые «плюсиков понаставили».
Человечество реально не готово к мультипланетному существованию и экстремальному развитию.
Суду действительно не пофиг, поэтому он назначит независимую экспертизу. И вся твоя драма про теплотрассу разобьётся о базовую криптографию.
Защита прибора построена на PUF в FPGA и заводском UID самой микросхемы SPI Flash. Эта уникальная связка намертво привязана к серверу производства.
Скопировать PUF невозможно физически, а выпустить чужую железку с тем же UID флешки китаец не сможет — они уникальны на уровне заводов-изготовителей чипов.
Судебный эксперт берёт пул устройств, делает запросы к серверу и видит, что у подделок левые UID флешки и невалидный PUF-ключ, абсолютно одинаковые. Суд признаёт девайс контрафактом в первые 10 минут заседания, а покупатели со своими исками отправляются судиться с китайцем.

ViashelavCz
17.07.2026 18:39Судебный эксперт берёт пул устройств, делает запросы к серверу и видит, что у подделок левые UID флешки и невалидный PUF-ключ, абсолютно одинаковые.Мне кажется они пойдут по пути наименьшего сопротивления, возьмут два девайса, сравнят комплектующие, техпроцесс и пр увидят два идентичных устройства, произведенных на одном заводе примерно в одно время, и сделают вывод в пользу истца/покупателя.

Darkness_Paladin
17.07.2026 18:39Интересно, а если эппл удалённо окирпичит мой айфон (думаю, у них есть такая возможность), сотрёт из него серийник (думаю, это тоже возможно -- во всяком случае, обратное не доказано) и скажет, что устройства с тем серийником, что выбит на корпусе (ну, на сим-холдере, без разницы), в их базах нет (номер из базы стереть не проблема) -- это прокатит за отмазку, чтоб не чинить его по гарантии???
Судебный эксперт берёт пул устройств, делает запросы к серверу и видит, что у подделок левые UID флешки и невалидный PUF-ключ, абсолютно одинаковые.
Судебный эксперт берёт одно устройство, предоставленное пользователем для экспертизы, сравнивает его с устройствами, предоставленными для экспертизы производителем, и видит, что устройство пользователя произведено на том же оборудовании, в тех же техпроцессах, из деталей тех же серий -- то есть, эти устройства одинаковы настолько, насколько одинаковы два одинаковых изделия одного завода, и эти устройства не различаются настолько, насколько различались бы изделия, произведённые разными заводами.
Что оно при общении с сервером производителя что-то там неправильное выдаёт, никто смотреть не будет -- оно ж неисправное. Мало ли, как эта неисправность на его поведение влияет. Вот у некоторых мобильников, помнится, после перепрошивки IMEI обнулялся, и приходилось отдельной тулзой возвращать в прошивку imei с наклейки -- и что?

mozg37
17.07.2026 18:39Может не стоит тогда отдавать все китайцам и делать часть (или все) производства тут? Да не, бред какой-то, отдадим им и что-нибудь придумаем

LinkToOS
17.07.2026 18:39Это уже совсем другая экономика. Китай это не только производство, а весь цикл включая доставку покупателю в любую страну. Не надо везти “через две таможни”. Можно на своем сайте указать что вы “эстонский” разработчик, чтобы не смущать покупателей из других стран.

Newbilius
17.07.2026 18:39Производство в условном Китае - N денег. Локальное - N*10 или даже 100, или даже 1000. Действительно, зачем отдавать, надо всё самим, наверняка отобьётся! /s

randomsimplenumber
17.07.2026 18:39Самая важная часть бизнеса - не производство а продажи. Китайцам с завода нафиг не уперлось реверсировать ваши прошивки. Ну, сделают они в 3 смену партию пепяк. Кому они их продадут? На Алике со скидкой 90%? Значит вы слишком большую маржу заложили, раз так тоже выгодно. Конкурент закажет? Так может с ним сами как то договоритесь? Зачем продавать контрафакт если есть оригинал?

LinkToOS
17.07.2026 18:39Китайцы делают бизнес по принципу “10 старушек уже рубль”. У них много контрактной продукции. Если есть возможность на каждом виде заработать хотя бы цент, они эту возможность используют.

randomsimplenumber
17.07.2026 18:39Конечно. Но без налаженного канала продаж - нафиг оно надо? Пришли лаоваи, заказали 1000 пепяк. Не 10 000, а именно 1 000. Значит, у лаоваев есть рынок в 1 000. У китайцев выхода на тот рынок нет. Зачем им паять и пиратить еще 9 000?
Вот если придет другой лаовай, и попросит спаять еще 9000..

select26
17.07.2026 18:39Кому они их продадут? На Алике со скидкой 90%? Значит вы слишком большую маржу заложили, раз так тоже выгодно.
Вы упустили стоимость RnD, которую китаец просто украл и не оплатил. Поэтому он может продавать существенно дешевле- его себестоимость это только производство. А реальный разработчик также вынужден заложить стоимость самой разработки, производство и еще и поддержку - обновление софта и замену или ремонт в течение гарантийного срока.

sergyk2
17.07.2026 18:39когда всё завязано на "тонких" технологиях, закономерно возникают ситуацыи:
Как оказалось, единственный компетентный сотрудник "Белпака" инженер Большаков сейчас находится в отпуске и устранить неполадки просто некому.

Piterssh
17.07.2026 18:39А есть случаи такого реверса? Кому контрафакт продавался - конкурентам? В массмаркете маржа настолько мала, что овчинка выделки не стоит.

SebastianP
17.07.2026 18:39Не понимаю, а почему на корпусе нельзя выбить QR код с ID
Если он подтверждается продавцом, то это одно дело если глюки, но если там паль - то какие претензии к продавцу
Первым делом еще до включения ты должен проверить QR код.
И в инструкции на первой странице , кратко без подробностей изложить смысл статьи и наставление проверить QR код

shai_hulud
17.07.2026 18:39QR код будет открывать китайский сайт, точную копию оригинала

SebastianP
17.07.2026 18:39Посыл ваш понятен, все упирается в известность бренда.
Если я хочу купить кроссовки Dior , а мне подтвердит подлинность какой-то китайский сайт.
Ну извините тогда...

vadimr
17.07.2026 18:39А на что вы рассчитывали, покупая кроссовки 迪奥 (в наших краях называемые Dior) в Китае? Самый распрекрасный настоящий 迪奥 будет вести на китайский сайт. А чтобы отличить подлинный китайский сайт 迪奥 от поддельного китайского сайта 迪奥, нужны уже определённые компетенции, которыми вряд ли наделён покупатель, покупающий контрафакт под видом подлинника.

SebastianP
17.07.2026 18:39Нет, не так все было: я на авито купил, и продавец пяткой в грудь бил что не паль, сам привез год назад из Японии. А сайт dior.com говорит, что мой код J3QQ4-H7H2V-2HCH4-M3HK8-6M8VW проверяли 114 раз и первый раз 3 года назад в Париже

vadimr
17.07.2026 18:39Я не в курсе точного положения дел, но не уверен, что Dior.com в любом случае сможет проверить код из Японии.

SebastianP
17.07.2026 18:39ну да он и проверил и выдал о коде J3QQ4-H7H2V-2HCH4-M3HK8-6M8VW всю инфу (если вы поняли о чем я в знаменитом коде сказал)

rsashka
17.07.2026 18:39Поэтому реальная задача разработчика — не создать «идеальный замок», а выстроить экономический барьер. Защита считается успешной, если стоимость её обхода (затраты на оборудование, оплату труда высококлассных инженеров и время на реверс-инжиниринг) превышает потенциальную коммерческую выгоду от копирования устройства.
Это может быть верно только идеальном мире, где нет государств и одна компания занимается ровно одним продуктом, а её цели только экономические (т.е. получение прибыли).
Но это только гипотетическая ситуация и всегда есть государственные дотации, налоги, договора, субсидирование, связанные или зависимые продукты и прочие условности.

ptr128
17.07.2026 18:39Однажды лет, 30 тому назад, меня разработчик одного очень популярного программного продукта попросил победить похожую защиту от копирования в его программе для ПК. Даже не пытаясь разбираться с криптографией и защитой от отладчика, я прямо в HIEW нашел, где же сопоставляются ключи и пропатчил это место, чтобы любой ключ стал валидным. Что-то мне подсказывает, что раз первые пять минут устройство работает корректно, то такой же подход тут тоже применим. Ну разве что трудозатраты будут не четверть часа, как тогда в HIEW, а час или два.

DrMefistO
17.07.2026 18:39Реверсить битстримы - не то же самое, что реверсить бинари. Первые куда сложнее.

ptr128
17.07.2026 18:39Ну так я и заложил на это в 4-8 раз больше времени. Что не так?

DrMefistO
17.07.2026 18:39Я вообще не уверен, что описанное в статье можно отреверсить за приемлемое время, а если можно, то не ясно, как запатчить. Проще, скорее всего, написать с нуля.

randomsimplenumber
17.07.2026 18:39Ходят легенды, что ключ может проверяться в нескольких местах кода. И не обязательно через BZ fail. От него может, например, точность числа ПИ зависеть.

ptr128
17.07.2026 18:39ключ может проверяться в нескольких местах кода
В описанном мной примере 30-летней давности, он тоже проверялся в куче мест кода. Вот только это сводилось к вызову одной и той же функции.
Впрочем потом была ещё одна итерация с inline, но и она продержалась не долго, так как по сигнатуре легко нашлась во всех местах.
От него может, например, точность числа ПИ зависеть.
Тогда устройство не сможет первые пять минут работать корректно.

randomsimplenumber
17.07.2026 18:39Тогда устройство не сможет первые пять минут работать корректно.
Ошибка может накапливаться..
Но делать подобное на железе - дурной тон. Хочется защиты от 3 смены - закажи на другом заводе копеечных крипточипов со своими ключами. Не надо делать абсолютную защиту, надо делать взлом невыгодным.

ptr128
17.07.2026 18:39А зачем реверсить описанное в статье?
Подход тот же, что я описал выше. Где-то есть функция, которая, возвращает "ключ подошёл" или "ключ не подошёл". Вот её и надо отпатчить, чтобы она всегда сразу возвращала "ключ подошёл".
Альтернативный вариант - найти функцию, включающую вред через условные 5 минут и отпатчить её ret.

select26
17.07.2026 18:39Где-то есть функция, которая, возвращает "ключ подошёл" или "ключ не подошёл".
Ни фига. Функция вовращает результат обраьотки исходных данных. Физических данных. В случае верного ключа - верный результат. Иначе - всяко бывает.
Функция - внутри железки (FPGA).

ptr128
17.07.2026 18:39А дальше? В итоге это всё равно сводится к только к ДА или НЕТ, раз в течении первых пяти минут устройство работает корректно и его можно протестировать.

Darkness_Paladin
17.07.2026 18:39В толково написанном коде такой единой функции нет. В одном месте проверяем, к примеру, контрольную сумму ключа по по модулю 297, по результату проверки объявляем, годный ключ или нет, в другом месте проверяем, что XOR первой и третей четвертей ключа даёт не меньше пяти и не больше восьми единиц, если нет -- при сохранении проекта записываем мусор вместо реальных данных, в другом месте проверка работает только по четвергам и проверяет, что OR битов ключа 17-25 и 52-60 с маской "182" равны между собой, а если нет, то "пи" в коде будет равно семнадцати; ещё в двадцати местах проверяем что-то ещё, ломающее другие функции с кривым ключом, а в сотне мест выполняем с ключом бессмысленные вычисления, которые ни на что не влияют, или влияют неявно. Первую проверку вы легко найдёте, а вот чтоб найти все остальные, и устранить их влияние на работу приложения, вам понадобится приложить труда больше, чем разработчик потратил даже не на разработку защиты, а на создание всего приложения.
Полагаю, в железе что-то подобное тоже можно накрутить.

Aelliari
17.07.2026 18:39Это железо, каждый слой проверок заберет у тебя часть объема полезных вентилей

Darkness_Paladin
17.07.2026 18:39Так и не спорю. Много хороших идей "не взлетает" из-за ошибок менеджмента или экономической безграмотности.

ptr128
17.07.2026 18:39Если пи будет равно 17, то устройство не будет работать в течении первых пяти минут. Следовательно, если заблокировать последующие вызовы, изменяющие это пи и которые не вызываются в процессе тестирования готового устройства, то оно и останется правильным.

Brak0del
17.07.2026 18:39Я вообще не уверен, что описанное в статье можно отреверсить за приемлемое время, а если можно, то не ясно, как запатчить.
В датацентрах, где есть возможность арендовать FPGA-инстансы, существует задача обнаружения зловредных вещей в пользовательском битстриме. В частности, обнаружения PUF. Это надо, потому что такие PUF могут идентифицировать конкретную плисину, на которой крутятся прошивки нескольких пользователей (multi-tenant platform), а также вносить глитчи и/или перегревать/выводить из строя оборудование. Для решения этой задачи существуют тулзы типа FPGADefender. Т.е. в целом PUF в битстриме вполне себе ищутся. Обратите внимание, что это вещи из далёкого 2020 года, когда ещё не было вездесущего ИИ.
Также например здесь упоминаются атаки на PUF с навешиванием сотни Flip-flop, с помощью которых получалось предсказать ответ PUF-а.
Наконец, есть тузлы типа BITMAN, с помощью которых можно патчить битстримы плисин уровня UltraScale.
Имхо, технически это вполне решаемая задача, все компоненты с большего существуют.
select26
17.07.2026 18:39Автор делает акцент не на невозможности реверса, а на повышении его цены выше определенного барьера.

Darkness_Paladin
17.07.2026 18:39Есть мнение, что если устройство действительно имеет хороший рыночный потенциал, то реверс или даже создание альтернативной прошивки в любом случае окажется выгодным. А если устройство -- игрушка для пяти гиков, его клонировать не станут, даже если защиты не будет вовсе.

vadimr
17.07.2026 18:39Как-то я купил в Китае прекрасный объектив Nikon, отлично работающий, в фирменной упаковке, только с одной особенностью – без серийного номера. С клонированием реально бороться только на уровне сервисной поддержки.

zatim
17.07.2026 18:39А какова вероятность, что эти все ухищрения не сработают у добросовестных клиентов? Мне периодически приносят в ремонт девайсы, которые внезапно окирпичиваются без видимых на то причин. И у меня вот возникла мысль, а не работает ли там какой-то излишне хитрый алгоритм?

Radisto
17.07.2026 18:39Вспоминается denuvo и PlayStation, когда ломаный диск работал лучше фирменного

tituszx
17.07.2026 18:39У меня так с индукционной плитой было. Раз в пару лет ремонтировал, менял транзисторы и драйвер. Незадолго перед каждым сгоранием транзисторов при включении звук был немного длиннее чем обычно. В итоге после четвертого перегорания заменил на другую плиту, т.к. транзисторы сильно подорожали

leslie500
17.07.2026 18:39Сбор сырого отпечатка: FPGA запускает кольцевые генераторы и формирует сырой массив данных разности частот PUF.
Подменить кольцевые генераторы так, что они всегда отдавали одинаковый PUF.

lazbaphilipp
17.07.2026 18:39Первое, про что подумал. Вопрос, конечно, в необходимости реверсить битстрим. А ещё в сознании необходимости этого дела.
Производителю контрафакта потребуется сначала обнаружить необходимость реверс-инжиниринга, потом, собственно, сам реверс инжиниринг, и потом проводить всё это дело.
Другой вопрос, что а назачем оно вообще надо? Если товар не массовый, китайцы не станут его подделывать, им оно не надо - ещё пойди найди рынок сбыта. Если массовый - то кому вы ещё навредите, китайцам или себе? Но про это тут уже куча комментариев есть

mixsture
17.07.2026 18:39Если лимит не исчерпан, сервер с помощью криптографической функции формирования ключа генерирует уникальный мастер-ключ устройства и секретную серверную соль.
но это ж полагание, что легальные клиенты добегут до сервера активации быстрее нелегальных. А если вдруг китайцы начнут свою третью смену быстрее активировать, чем ваши устройства до легальных покупателей доберутся, то теперь легальные покупатели огребут проблем.

ChaikaWiFika
17.07.2026 18:39Активация производится на заводе-изготовителе, до упаковки в потребительскую тару, в процессе ОТК чипа.

ramfactory Автор
17.07.2026 18:39А причем тут клиенты? Ключ один раз генерируется на заводе и зашивается в прибор на заводском стенде, далее передается на линию регулировки, где проверяется работоспособность по описанному разработчиком алгоритму. Заводу выдается разрешение на количество активаций, а не покупателям, которые знать не знают об этом.

Tomasina
17.07.2026 18:39И все же мне непонятно, как отличить копии, изготовленные на том же заводе, на том же оборудовании, с теми же настройками, из того же сьрья. Да, кремний третьей смены будет чуть отличаться составом от кремния первой смены (но в пределах допуска, чтобы пройти ОТК), но ведь и кремний второй смены будет также отличаться.
Ну и попутно - есть вероятность что готовое легальное оборудование, запущенное в ином температурном режиме (на Севере или в Дубаях), выдаст сигнатуру, не совпадающую с оригинальной.

ramfactory Автор
17.07.2026 18:39Жесть, ну я же описал это в статье... Технологический допуск завода контролирует чтобы транзистор в принципе переключался не медленнее, чем за X пикосекунд, и чип не сгорел. PUF работает на уровне который завод физически не контролирует. Когда на заводе TSMC или UMC травят кремниевую пластину, геометрия затворов транзисторов получается случайной. Это физический хаос: где-то атом бора при легировании сел чуть левее, где-то правее, толщина оксида затвора в одном LUT получилась на 1 атом тоньше, чем в соседнем, шероховатость краев проводников вообще уникальна.
Завод не может повторить этот хаос. Даже если вырезать два чипа, которые на кремниевой пластине производили вплотную друг к другу, один из них в паре генераторов
RO_AиRO_Bвыдаст, чтоRO_Aбыстрее на 12 пикосекунд, а второй чип выдаст, чтоRO_Aмедленнее на 5 пикосекунд.Для завода оба чипа идеальны и укладываются в допуск. Но для нашей математики их цифровые «отпечатки» будут кардинально разными. Попытка перенести ключ с одного чипа на другой провалится, потому что наноструктура их кремния уникальна, как сетчатка глаза. Сервер получает отпечаток и генерирует для него шифрованный ключ. Таких ключей можно запросить фиксированное кол-во. Вот и всё, кончился лимит при производстве на заводе, дальше если копировать один и тот же ключ, будет брак.
Ну я же про температуру написал в статье, именно для этого нужна маска, каким кольцевым генераторам доверять, если разница минимальна между двумя генераторами их использовать нельзя иначе они поплывут от изменения температуры. Кроме прочего чипы сами со временем деградируют... нужна климатическая камера для определения допустимого разброса.

supinepandora43
17.07.2026 18:39Было интересно читать, ровно до тех пор пока не понял что это писал ИИ.

mstaoru
17.07.2026 18:39Как-то все сложно. Идете в Microchip Trust Platform, покупаете ATECC608B-TNGTLS, отправляете китайцам. Все.

ramfactory Автор
17.07.2026 18:39Супер, только нужно отправлять, а если у меня есть доверенный партнер скажем в Китае? Получиться что я катаю туда сюда деньги и трачу время на логистику.

ramfactory Автор
17.07.2026 18:39В итоге получается что я отправляю один фиг в Китай, проще тогда вообще у себя собирать. А так я передаю партнеру прибор на изготовление и реализацию, он платит мне за ключики активации по количеству и сам на месте контролирует партию и в том числе платит за компоненты и вообще за изготовление, он то заинтересован в том чтобы "мимо" ничего не ушло, полный удаленный контроль.

ramfactory Автор
17.07.2026 18:39Я предложил концепт, как получить UID для FPGA, в которой нет заводского UID. Это один аспект защиты — сложный математически и в понимании, одно из решений в комплексе...
Но никто не спросил, как привязать его к определённому участку кремния для QUARTUS, не убедился в правильности расчёта вероятностей получения ключа перебором. Никто не спросил, сколько займёт ячеек в FPGA PUF, скажем, на 64 пары кольцевых генераторов с шифрованием, и как перекрёстные связи «сквозь» блок PUF могут повлиять на стабильность...
Самое грустное, что повторяется анекдот: если принести на подпись чертёж реактора, то подмахнут сразу. Но вот если набросок велосипедного навеса на парковке реактора — обсуждение затянется до поздней ночи.
Неужели вы думаете, что общечеловеческие вопросы мы не обсуждали? Да они заняли 90% времени: кто, куда, с чем пойдёт и как потом рулить.

Brak0del
17.07.2026 18:39Я предложил концепт, как получить UID для FPGA, в которой нет заводского UID.
Простите, может чего пропустил или не понял. Было интересно почитать конечно, но похожие вещи в зарубежной литературе уже 15 лет известны.
Но никто не спросил, как привязать его к определённому участку кремния для QUARTUS
Это вполне тривиальные вещи, location constraints похожи у разных вендоров +-.
Никто не спросил, сколько займёт ячеек в FPGA PUF, скажем, на 64 пары кольцевых генераторов с шифрованием
Такие вопросы конечно были, сколько оверхеда именно в вашей реализации добавляете конечно же интересно. Но примерно всё же порядок величин понятен.
Кроме плисины интересно также сколько оверхеда требуется на весь обвес вне плисины: ethernet и прочий обвес для общения с сервером. Также интересно, сколько оверхеда на софт для этого всего обвеса -- это ведь тоже объем работ и деньги.

LinkToOS
17.07.2026 18:39Но никто не спросил, как привязать его к определённому участку кремния для QUARTUS, не убедился в правильности расчёта вероятностей получения ключа перебором.
Вопросы о разработке хитрых приемов защиты вообще не принято обсуждать открыто. Так что даже если кто-то захочет реально использовать этот (чертовски сложный) метод, он скорее напишет личное сообщение. Незачем делиться секретами в интернете, (и обучать ИИ).

Disasm
17.07.2026 18:39Не очень понятно, что мешает китайцам сделать клон вашего сервера с этой архитектурой. Более того, они вероятно даже могут сделать идентичный клон, поскольку “чексумма” HMAC обладает свойством, что сгенерировать её может как сервер, так и клиент, иначе проверку просто не получится реализовать.

NutsUnderline
17.07.2026 18:39оно должно сгенерировать уникальный идентификатор, пройти валидацию на Вашем сервере и получить индивидуальный ключ
скоро так вейпы одноразобывые без регистрации не сервере не запустить. а с учетом что сервера деградируют разными образами, а еще и ПД... замечательная тенденция в общем

buinovb
17.07.2026 18:39Могли бы вы подробнее расписать данные и преобразования над ними на стороне устройства и сервера, а также что передается на между ними. Просто интересно принцип Керкгоффса здесь выполняется.
MrKirushko
У "защиты" с отложенным сбоем есть большая проблема - такой задержки будет вполне достаточно чтобы поддельный товар прошел предварительную проверку клиента на ПВЗ или приемщика на складе и был успешно продан. Разумеется, поставщики и продавцы тоже не могут тратить время чтобы докопаться до каждой коробки и риск просачивания контрафакта всегда будет. В итоге китайцы даже тупо скопировав прошивку и забив на эту "защиту" свои деньги все равно поимеют, а вот клиенты ваши столкнутся с ситуацией когда они приходят в магазин за вашим устройством и не знают - будет ли оно работать или нет, знают только что для того чтобы это выяснить нужно товар купить, полностью подключить, и потом некоторое время погонять, и вот если он проработал хотя бы одну рабочую неделю (а то кто вас знает с этим "примерно", от 5 минут до 7205 минут то всего один шаг, а если у вас таймер раз в 10 секунд срабатывает то 16-битного счетчика как раз на 5 дней примерно хватит так что не исключено) то уже можно условно считать что товар оригинальный. А если не проработает - тогда неизвестно, может и оригинал но просто брак попался. А значит полюбому нужно везти в гарантию и ждать заключение.
Разумеется, через какое-то время эта ситуация станет известной и вот тут у ваших клиентов возникнет резонный вопрос - а зачем им вообще в весь этот геморрой ввязываться? Может, лучше подождать пока вы там со всем этим разберетесь, все уляжется, и начнется нормальная работа, а пока просто ничего не покупать? А еще за это время наверняка появится какая-то функциональная замена вашего прибора (например, китайцы выйдут на вашего программиста, заплатят ему денег, и он им соберет версию прошивки безо всяких проверок, с новыми нескучными обоями на китайском и с другой торговой маркой, или на худой конец если затея вообще имеет хотя какой-то финансовый смысл, найдут какую-нибудь небольшую индусскую фирму что просто новое ПО с примерно тем же функционалом для них разработает - им то уже проще, у них считай полное ТЗ с четким описанием всех функций и интерфейса уже будет и возможно даже отреверсенный код вашего ПО). Тогда клиенты ваши сразу перейдут на более надежный, гарантированно менее рискованный вариант, да еще и денег себе сэкономят.
В общем, тут изначально постановка задачи была ущербная. Коммерция - это не полиция и не армия. Задача бизнеса - обслуживать как можно больше клиентов чтобы они были довольны и получать за это деньги, а не бороться со злом и побеждать негодяев или служить некой высшей цели. Именно то как он справляется с этой своей главной задачей определяет его как настоящий рыночный и социальный так и почти всегда финансовый успех. И поэтому при работе над коммерческими проектами разработчикам также нужно всегда смотреть на вещи именно с точки зрения покупателей (а после них - и конечных пользователей) и всегда принимать решения которые будут в первую очередь в их интересах. Даже тогда когда это будет выглядеть как признание поражения перед силами зла. Потому как борьба ценой своих клиентов, валить лес чтобы щепки летели - это один из самых быстрых и верных способов угробить любой коммерческий проект.
Можете загуглить чем закончилась борьба FTDI c контрафактными чипами путем выпуска по тихому новых драйверов через свой сайт и Windows Update которые 100% надежно выявляли совсем уж откровенно контрафактные чипы и их по факту окирпичивали путем перепрошивки значений USB VID и PID с FTDI-евских на 0. Если коротко - сначала все производители учебных плат вроде Arduino а потом и просто большинство адекватных разработчиков начали просто от них шарахаться и от греха подальше быстро переразвели свои платы, уведомили клиентов, и перешли на адекватные (по большей части китайские) чипы (некоторые - сразу, некоторые еще с тайваньцами из Prolific с менее жестко реализованной но по сути похожей темой сплясали раз на граблях, но в итоге перешли все), а англичане просто потеряли большую часть по сути созданного ими рынка. И даже то что они спустя несколько месяцев поняли что натворили и включили заднюю, а потом даже на своем сайте публично каялись и обещали больше так не делать так им в итоге серьезно и не помогло. Просто доверие уже было потеряно.
vdudouyt
Ага, вспомнил про FTDI еще до того, как прочитал Ваш комментарий. Жаль, что авторы статьи не упомянули о каком именно устройстве/устройствах идет речь - так бы мы хоть знали,
от чего лучше держаться подальше на всякий пожарныйчто именно стоит включить на 5 минут для проверки сразу после распаковки :)LinkToOS
Соглашусь. “Защита через саботаж” рискованный метод. Репутацию можно испортить быстро и надолго.
olku
Уже не вспомню, однажды попадался некий запрет регулятора на намеренное искажение логики продукта. Грубо говоря пиратский Эксель должен считать как настоящий.
LinkToOS
Есть еще бытовой пример - запрет устанавливать в своем доме опасные ловушки против воров. Если вор серьезно пострадает от умышленно установленной ловушки, то собственник жилья рискует понести ответственность.
Но это имеет отдаленное отношение к теме.
olku
Ну это уголовная, чисто предумышленное
ptr128
Не совсем так. Если о наличии таких ловушек вор был предупреждён информационными табличками, то вина с владельца будет снята. Тоже самое относится и к собаке на охраняемой территории.
Newbilius
Тут надо бы уточнять, про какие страны речь, в случае той же США - какие штаты, очень разные законы и практика. В России например, табличка "на лужайке противопехотная мина" от ответственности за смерть вора не спасёт.
ptr128
Потому что использование противопехотных мин незаконно.
А если не подменять тезис, то в РФ табличка "Не входить. Высокое напряжение. Опасно для жизни!" снимает вину с владельца ТПушки, если туда залезет вор и его там убьет.
vadimr
Однако если потерпевший докажет, что высокое напряжение было подведено специально с целью нанесения вреда здоровью, то горе-электрик присядет.
ptr128
Я знаю случаи, когда пытались доказать, что собака без намордника отпускалась на ночь с привязи и бегала по огороженному участку специально с целью нанесения вреда здоровью тому, кто попытается на этот участок незаконно проникнуть. Безуспешно.
Может Вы знаете, когда такое удалось доказать?
vadimr
Ну в случае с собакой это действительно звучит неправдоподобно. Предоставление собаке свободы на своём участке не подразумевает злого умысла.
Слышал о случае, когда человек на зиму оставил на столе на даче бутылку с ядом и присел, когда взломщик отравился.
ptr128
И при этом хозяин предпринял все необходимые меры, что информировать взломщика о наличии яда в этой бутылке или хотя бы в бутылках на участке? Я ведь именно об этом писал.
KivApple
Не знаю насколько правда, но слышал, что там на суде оставивший бутылку в сердцах сказал по смыслу "там ему и надо!" или ещё как-то буквально признался, что умысел как бы был.
Отсюда можно лишь сделать вывод, что в такой ситуации нужно выражать соболезнования семье погибшего вне зависимости от своего настоящего отношения к ситуации (благо ложь о своих чувствах не является самостоятельным преступлением). Ну это и так любой адвокат скажет.
Darkness_Paladin
Тоже слышал. Тот человек по дурости своей присел, признавшись, что бутылка его, он знал, что в ней яд, и оставил её специально, чтоб воры отравились -- то есть сам доказал наличие у себя умысла.
Тут следовало, зависимо от наличия выживших воров, либо вообще отрицать причастность (не было у меня на даче никакой бутылки, наверное, они её с собой принесли, украв её где-то в другом месте), либо, если нельзя соскочить на непричастность, отрицать знание и намерение (да, моя бутылка. купил с рук ночью на парковке у магаза, хотел сам выпить, да не сложилось, вот и забыл её на столе, уезжая)
funca
Нормальная сторожевая собака это устройство сигнализации и удержания нарушителя в ожидании сторожа, а вовсе не загрызть до смерти. Их специально этому учат в том числе и для того, чтобы снизить судебные риски владельца до минимума.
ptr128
Я в курсе, так как занимался кавказскими овчарками. Поэтому те случаи, которые я знаю, происходили с собаками, которые вряд ли даже ОКД сдали бы, не то что ЗКС.
Newbilius
А использование чего в России не противозаконно для охраны своей жизни и имущества, что при этом может покалечить или убить вора или нападающего? "Превыщение самообороны" и вот это всё...
ptr128
Да почти всё законно, если невозможно доказать умысел нанести вред. У меня рядом на карьере даже взрывные работы ведутся. И если туда кто-то пролезет через ограждение, не взирая на предупреждающие таблички, то виноват будет только он сам.
funca
Есть ответственный за безопасность при проведении таких работ. А безопасность это комплексная проблема. Одних лишь технических мер таких, как таблички и ограждения, тут недостаточно.
StjarnornasFred
Грубо говоря, законны любые защитные средства. Защитные, а не контратакующие. Двери, замки, броня, сигнализации, фонари и так далее.
Darkness_Paladin
Ничего. Правоприменительная практика такова, что если вы в ходе самообороны причините вору/бандиту какой-то значимый ущерб здоровью, с вероятностью 99% суд сочтёт, что "пределы необходимой самообороны" были превышены.
В любом случае, не следует применять что-то СПЕЦИАЛЬНОЕ: по-любому пришьют умысел. Правильный инструмент самообороны в россии должен быть таким, чтоб вы могли убедительно объяснить, что эта совершенно мирная вещь у вас под рукой оказалась абсолютно случайно, и вы вовсе не имели умысла применить её против каких-то людей.
rostislav-zp
Лет 20 назад гуляло обсуждение работы актуальной версии на тот момент какого-то видеоредактора.на всех форумах обсуждалась нестабильная работа новой версии. В итоге все сидели на предыдущей. В конце концов выяснилось,что владельцы лицензионных версий таких проблем не испытывали и все прекрасно работало
DenXXII
Погодите, есть контора, производящая продукт. Распространяет его через свой сайт, сертифицированных партнеров и т.д.
А если Алешенька заказал 100% оригинальный продукт со скидкой 90% в черную пятницу на условном алике ...
Каналы сбыта разные у разработчика и дядюшки Ляо, странно будет покупать копию, а винить оригинал. И это только в том случае, если копираст перепродает свою поделку под оригинальным брендом, а это так-то в теории еще статья монусом за использование чужого бренда, товарного знака на своей продукции, иногда лучше переобозвать, тогда про подмоченную репутацию производителя вообще бессмысленно говорить.
Darkness_Paladin
Производитель отвечает за свою продукцию независимо от того, где потребитель её купил. Чтоб не отвечать, надо доказать, что это подделка -- что в данном случае невозможно, т.к. изделие дядюшки Ляо будет произведено там же и тех же комплектующих, и даже упаковано там же в такую же коробку. Ни один эксперт не найдёт разницы, потому что её нет.
DenXXII
Так самый главный вопрос к конечному покупателю: "А ты, друг мой горемычный, собственно, где эту поделку купил? Покажи квитанцию!" Собственно, если куплена не у официального партнера или с сайта компании, то какие вопросы? Чтобы ответить за продукцию, она должна попасть в авторизованный СЦ, и не просто поделка, а с докумантами, подтверждающими покупку, с гарантийным талоном с печатью магазина.
Разработчик если идентифицирует каждый комок кремния и регистрирует на своем сервере, может по серийнику отслеживать и логистику. Даже если серийник тоже склонирован, разработчик с радостью уведомит и легко докажет, что поделка с таким серийником была продана в Женеве местным партнером, а недовольный покупатель скулит где-то в Купчино.
И все это продлится очень недолго, когда у дядюшки Ляо абсолютно каждая проданная поделка - это не более, чем сувенирная продукция, клиенты нашего дядюшки Ляо начнут дружно задавать ему вопросы. Бан магазина на алике за добрые отзывы или набьют морду местные пепекупы, кому он свое добро радостно втюхал. И скоро такие продажи завершатся, и не рискнет дядюшка Ляо повторять до тех пор, пока не выпрямит руки и не научится нормально подделывать.
sdramare
Задавать вопросы покупателю типа "а ты докажи, покажи квитанцию" это конечно очень мило, но вот только отвечать он не будет - просто перестанет пользоваться вашим продуктом и ваш бизнес сдохнет, вот и все.
DenXXII
Нет, он перестанет пользоваться подделкой ...
А при гарантийном обращении это как бы нормальная глобальная практика, не просто поделку принеси, но еще и документы на покупку.
Опять же таки, это когда официально куплено, вся инфа в базах данных, можно и без бумаг обойтись. Но в том-то и вся соль, что мы-то о подделках говорим.
Darkness_Paladin
Если вы докажете ему, что это подделка. Если он видит, что его единица продукта абсолютно такая же, как оригинал, все ваши попытки убедить его, что он купил подделку, обречены. Он будет уверен, что вы просто пытаетесь уклониться от исполнения обязательств, и всем расскажет об этой ситуации именно в таком аспекте: "Не покупайте эту фигню. Сломалась через пять минут, от гарантии производитель отмазывается, пойду в суд".
Если я купил устройство, скажем, самсунг, в магазине, например, ДНС -- магазин днс попросит у меня документы на покупку, т.к. он отвечает только по тем самсунгам, которые проданы через него. Но если я обращусь непосредственно в самсунг -- им чек не нужен, они отвечают за ВСЕ самсунги, независимо от того, кто где их купил.
Devastator82
С этим тоже бывают вопросы. Например, устройство официально не поставляется в регион.
tituszx
Паленую макиту с озона тоже в сервис макитовский понесете? А претензии по взломанному ПО будете производителю писать?
Devastator82
В давние годы одна родственница по юности и наивности написала в крупную компанию в официальную поддержку с просьбой помочь найти взломанную версию их софта. Так как купить пока финансы не позволяют, а найти в Интернете взломанную версию своими силами не получилось. Они ей не ответили)
Darkness_Paladin
"Палёная макита" отличается от настоящей, потому она и паль. А вот если б она не отличалась совершенно ничем, будучи сделанной на том же заводе, что и оригинал -- конечно, понёс бы. Да я б и не знал даже, что она "не оригинал", ведь она ничем от оригинала не отличалась бы.
Вы тут пытаетесь подменить понятия. "Третья смена" -- это не подделка, это даже не просто "копия оригинала", это такой же оригинал, как оригинал (пардон за тавтологию), просто произведённый подрядчиком без разрешения "производителя" (фирмы-разработчика). Потребителя эти нюансы не интересуют, с точки зрения потребителя (и закона о его защите!), "третья смена" -- тоже оригинал.
select26
Выше Тут уже приводили примеры про FTDI и Prolific. Прочтите.
Я сам перестал использовать FTDI, потому что мне не нужен такой геморрой- я не контролирую дистрибьютера, а перед клиентом отвечаю.
Ajent
Если покупатель купил нелицензионную копию, то фактически он либо не собирался покупать сертифицированный продукт в принципе, либо надеялся что "прокатит" и будет вынужден купить сертифицированный. И в том и в другом случае это проблемы покупателя.
sdramare
1) Как покупатель долже отличить бракованый лицезионый продукт от подделки, если различие исключительно только в том, что товар перестает работать спутя какое-то время? Вот человек сделал заказ на озоне - товар не работает.
2) Вы, конечно, можете начать в суде рассказывать что продавец с озона заключил договор с дестрибьютером, который заключил договор с поставщиком, который купил партию на официальном заводе со скидкой, а завод эту партию произвел в нарушении контракта, но шансов у вас выграть суд по защите прав потребителя с такой позицией что в РФ, что в ЕС примерно 0%.
2) Проблемы покупателя после первого же негативного отзыва становятся проблемами продавца. Это если вы госмонополист, то можно исходить из принципа "не нравится - вали", а на рынке ваши же конкуренты с радостью поглотят вашу долю рынка и будуте вы во время процедуры банкротства/поглощения бормотать "но я же прав".
funca
Возможно у него просто нет столько денег на лицензию. Но он готов купить в два раза дешевле и не связываться с нелегалами.
Ни кого же не удивляет, что цены за лицензии в Steam на одни и те же игры отличаются в разы в зависимости от региона. Защиты от копирования выступают в роли дополнительного стимулирующего механизма, а не основного.
Astroscope
Вы игнорируете ситуацию, когда покупатель купил нелицензионную копию, не подозревая о том, что копия нелицензионная. Более того, в этой ситуации и продавец совершенно необязательно знает, что продает нелицензионную копию - продавец мог получить таковую от вышестоящего продавца.
Darkness_Paladin
Никаких вопросов. Производитель, в отличие от дилера-перекупа, отвечает за свой товар перед любым покуппателем, независимо от того, где товар куплен. Чтоб не отвечать, надо доказать, что этот товар произведён кем-то другим, только так. Дилер -- тот да. он может отказаться от гарантийного обслуживания по мотиву "вы это не у нас купили". Производитель не может.
Гарантийный талон будет. Вы забыли, что левый продукт делают на том же заводе? И паспорт изделия будет оригинальный, и гарантийный талон, и коробочка. Печать магазина давно необязательна, её часто не ставят. В любом случае, производитель не может отказать в гарантии на основании её отсутствия. Дилер (магазин) может, а производитель нет.
Вот я у вас завтра займу мешок денег, а когда придёт время отдавать -- скажу, что не занимал: вот у меня в книжечке записано, я в тот день вообще на охоте был. Прокатит, не?
Производитель обвиняется в желании уклониться от исполнения гарантийных обязательств, так что любые его внутренние записи, "доказывающие" его правоту, однозначно идут лесом. Не хочет платить, вот и сфабриковал запись в своей БД. Логично? Логично. Суд так же подумает.
inkelyad
Так она не в его базе будет. А в чужой. (Смотрим на "Честный знак" и эквиваленты)
randomsimplenumber
А при чем производитель то? Есть продавец, это его головная боль. Покупатель заключил договор купли-продажи с продавцом (вот чек), не с китайским заводом. Продавец знает, что продает.
Darkness_Paladin
китайский завод -- не производитель, а подрядчик. Производитель -- это тот, кто нанял китайский завод делать эти пепяки и тот, чья ТМ на них стоит.
Помните историю с наушниками си-джи-подс? Их "производитель" -- не тот китайский ОЕМ-завод, который их делал, а тот тюменский барыга, который их заказал у китайцев и продавал под своей маркой.
А магазин не при делах. Если тот магазин, где вы купили, например, телевизор -- закроется, ваша гарантия не "сгорит", по ней будет отвечать непосредственно производитель вашего телевизора, или его региональный дилер. Возможность обращаться по гарантии через магазин, а не напрямую на завод -- это для вашего удобства, не более того.
LinkToOS
Здесь у нас похоже возник дефицит слов, чтобы правильно обозначить участников процесса. И завод у нас производитель, и заказчик партии продукта тоже производитель. Он же одновременно и потребитель по отношению к заводу, и может подать в суд за низкое качество продукции или изготовление контрафакта (неучтенки).
В контексте статьи правильно говорить о разработчике и контрактном производителе.
Darkness_Paladin
Не, "разработчик" -- это тот, кто разработал. Совсем не факт, что он вообще имеет какое-то отношение к изготовлению потребительских изделий. Есть такие конторы, которые занимаются разработкой под заказ: вы им приносите ТЗ со своими хотелками, получаете от них пару прототипов и пакет КД, и идёте искать завод, который займётся выпуском вашей штуковины. Вот они -- разработчики.
LinkToOS
Такое представление устарело. Сегодня, для того чтобы продавать разработанное вами устройство по всему миру, достаточно иметь схему, прошивку, и сайт для информации о продукте и техподдержки. Остальное сделают китайцы. Формально вы производитель и продавец, но технически вам достаточно выполнить лишь функции разработчика. То что говорится в этой статье актуально именно для такой ситуации. В других случаях заливать прошивку можно самостоятельно, и все эти ухищрения с засадами и капканами просто не нужны.
osmanpasha
Комментатор выше пишет, что вы можете заказать разработку и платы, и прошивки, и сайта, специализированным конторам, тогда у вас будет все вышеупомянутое, но разработчиком вы не будете. Ничего устаревшего в схеме нет.
Darkness_Paladin
Возможно, следует, по аналогии с недвижимостью, использовать термин "девелопер". В сша, "девелопер" -- это человек или организация, которая занимается созданием объектов недвижимости. В марксистских терминах -- "созданием прибавочной стоимости в сфере недвижимости".
Это не строитель, не инвестор и не застройщик -- это тот, кто придумывает способ, как сделать недвижимость дороже. Скажем, купить (не обязательно на свои, можно привлечь инвесторов) закрывшийся завод, переделать (не обязательно сам, можно привлечь дизайнеров, архитекторов и строительные организации) в лофт-квартиры (для оформления можно привлечь специальных юристов) и продаёт их (необязательно сам, можно привлечь риэлторов).
Так и тут. Кто-то может заказать разработку железа одной конторе, поручить его производство другой, а продажи передать третьей -- и кто он тогда, если не девелопер? Он не разработчик, не производитель и не продавец, и возможно даже не инвестор, но именно он -- то лицо, которое получает прибыль, несёт риски и отвечает по претензиям.
Yuriy_krd
Суд не будет думать, а будет опираться на доказательства, представленные сторонами. Самсунг отправит на независимую техническую экспертизу, там подключат телефон к софту самсунга, который используется для, например, гарантийного ремонта, и софт скажет, что такой серийник не зарегистрирован. Экспертиза выдаст заключение о том, что телефон является подделкой (не контрафактом, а именно подделкой, я думаю, разницу вы понимаете). И это заключение станет основой для отказа в иске.
Darkness_Paladin
Там эксперт разберёт устройство, посмотрит на его потроха и напишет что-то вроде: "представленный для исследования образец совершенно идентичен с образцами из официального магазина, предоставленными для сравнения, они однозначно изготовлены в одном месте, в одно время, на одном и том же оборудовании, из одних и тех же партий элементов"
То, что у меня в книжечке НЕ записано, что я у вас денег занимал, не является доказательством отсутствия долга. Аналогично, то, что производитель отрицает (путём "в нашей БД не зарегистрирован этот серийник") свою связь с единицей продукта, не доказывает, что этот продукт поддельный.
inkelyad
Желание производителей оказываться от своей же продукции, но проданной по 'серым' схемам немного задалбливает. Продукция ваша? Как "подделка"? А доказать можете что именно подделка? Ах нет... Значит - ваша, извольте обслуживать, даже если она до меня дошла через десяток промежуточных рук и три раза мир обогнула.
А если маршрут вам не нравится и его не должно быть - разбирайтесь как-нибудь сами со своими продавцами, а не с пользовтелем.
LinkToOS
Два момента.
Запчасти для обслуживания продукции в стране-импортере, завозят в местный сервис-центр с учетом количества официально ввезенной продукции. “Серая” продукция не учитывается.
За “серую” продукцию не платились пошлины. Формально, если внезапно обнаружился “серый” экземпляр, на него распространяется требование об уплате пошлины. И кого-то следует наказать за нарушение правил. По умолчанию, нарушителем является продавец. Или покупатель, если он не сможет доказать что купил ее в местном магазине, а не лично провез через границу.
LinkToOS
Так а кто производитель, когда продукция контрафактная? Не путать с разработчиком, который заказал производство у контрактного производителя.
Нет. Надо доказать что покупатель деньги тебе не платил. Если партия выпущена без твоего ведома, и деньги покупателем заплачены неизвестно кому, то и гарантийное обслуживание будет выполнять неизвестно кто.
Darkness_Paladin
Я, говоря о "производителе", имею в виду юрлицо, указанное в качестве производителя в техпаспорте изделия. Подрядчик ("контрактный производитель") с конечным потребителем не взаимодействует и перед ним не отвечает.
Вот, скажем, у меня заборостроительная фирма. Я взялся построить вам забор. Нанял каких-то васьков, и послал работать. Они налажали. Кто перед вами отвечает? Я. Потому что договор у вас со мной, и мои дела с теми васьками вас не касаются никак.
Покупателя не касаются отношения между производителем, его подрядчиками и дилерами. У него есть изделие и техпаспорт на него, и есть установленные законом два года гарантии с момента покупки, или, если момент покупки невозможно установить, с даты выпуска изделия. (ЗоЗПП, ст.19). Всё. Чтоб не исполнять гарантийные обязательства, производитель должен доказать, что он не является производителем данной единицы товара, и никак иначе. А доказать это не получится, т.к. товар абсолютно идентичен официальному.
LinkToOS
Здесь ситуация другая. Вы заплатили “васькам” за день работы, чтобы они построили забор для вашего клиента. “Васьки” поставили забор для вашего клиента за полдня, а в оставшееся время поставили забор его соседу, взяли деньги себе, а для жалоб оставили ваши контакты. Кто отвечает за второй забор?
Замените “производителем данной единицы товара”, на “изготовителем и продавцом”, и станет более понятно.
Первый “производитель”, указанный в этой фразе, не изготавливал и не продавал неучтенный экземпляр. Поэтому не несет ответственности за проблемы с этим экземпляром. Он в этой ситуации сам является жертвой изготовителя контрафакта, потому что потерял клиента и репутацию. Для отслеживания контрафакта существуют разные механизмы. К примеру серийные номера, товарные чеки, и отслеживание платежей. Если до вас деньги от покупателя не дошли, значит товар не был продан по закону. Значит товар краденный или контрафакт.
Украденный товар тоже абсолютно идентичен честно купленном. И что, из-за этого нельзя доказать что он украден?
Darkness_Paladin
Гуглить "добросовестный покупатель". Если условный панасоник заявит, что мой телевизор, судя по серийнику, украден с заводского склада в японии, и на этом основании попытается отказать мне в гарантии -- проблемы будут не у меня, а у панасоника. Я -- добросовестный покупатель со всеми правами, и меня не касается неспособность панасоника хорошо охранять склад продукции. Такие дела.
Несёт, если не докажет, что товар поддельный. "Третья смена" -- не подделка, так что не докажет. Значит, несёт.
Это его проблемы, которые он волен решать в ДРУГОМ суде, по другим законам. В рамках ЗоЗПП он отвечает за свой товар в любом случае.
Это никого не интересует в рамках дела о нарушении ЗоЗПП. "Производитель" (владелец ТМ и организатор производства) может, как хочет, судиться со своими подрядчиками и дилерами, это не отменяет его обязанностей по отношению к конечному потребителю его продукции.
LinkToOS
Проблема будет у вас, доказать что вы не соучастник кражи. Для этого вам придется найти продавца, и дать на него показания.
Гарантийное обслуживание серого импорта выполняет продавец. То же самое с ворованным товаром.
Нет. Если товар ввезен нелегально, то в официальной гарантии вам откажут. Придется судиться с продавцом. Это автоматически распространяется на ворованный товар, и на неучтенку.
Darkness_Paladin
Да. Возможно, если товар ввезён "нелегально", производитель попытается отказаться от исполнения своих гарантийных обязанностей, и придётся принуждать его к их исполнению через суд.
randomsimplenumber
И что сделает суд конторе из другой страны?
Darkness_Paladin
если контора в "другой" стране, то есть её официальное представительство в "этой", потому что если представительства нет, никто серьёзный с ней дел иметь не станет.
randomsimplenumber
Если есть официальное представительство - зачем нужен нелегальный ввоз?
Купили телевизор не у местного дилера а в Польше (так дешевле, да?) - везите в польский сервис, никто от гарантийных обязательств не отказывается.
LinkToOS
Нет. Через суд можно заставить непосредственно продавца вернуть деньги за товар. Больше ничего.
Ввоз “серого” товара это серьезное нарушение. Обязательно будет разбирательство.
Darkness_Paladin
Точно такая же. Если я, от избытка ума и желая сэкономить, дал васькам пачку подписанных и пришлёпнутых бланков договоров, чтоб они сами их оформляли с заказчиками (прям как в случае с техпаспортом и гарантийным талоном, которые кладут в коробку с товаром на китайском заводе) -- увы, перед соседом ("левым" заказчиком) отвечаю тоже я. С васьками я буду судиться и, возможно, отсужу у них свои бабки, но мои отношения с ними потребителя не касаются. У него на руках договор с моей подписью и печатью, так что он -- мой клиент. То, что я от него денег не получил, это моя проблема, которую я буду решать в суде со своими васьками, а не с ним.
LinkToOS
Даже если так, вы каждый день проверяете количество бланков, и при нестыковке между количеством бланков и приходом денег, немедленно разбираетесь с васьками. Это будет исключительный случай. Мы рассматриваем систему, а не исключения, которые могут быть в любой системе.
Касаются напрямую. По закону вы “левому заказчику” ничего не должны. Вы сами пострадавший в этой ситуации. Васьки должны и вам и “левому заказчику”.
Васьки - подрядчики. Ваша ответственность за их действия ограничена.
Есть еще отдельные документы подтверждающие легальность ввоза товара. Без них гарантийный талон недействителен.
KivApple
Это можно решить наклейкой с уникальным QR-кодом, ведущим на сайт производителя, где показывается, что код валиден и количество уже выполненных проверок.
Наклейки клеишь как минимум на другом китайском заводе, как максимум вообще на своём собственном заводе. Благо в отличии от самого производства задача совершенно копеечная. Если устройство штучное можно даже своими руками клеить, если малые партии, то нанять кого-то на МРОТ и на полставки, если большие партии, то у тебя и так хорошо продажи идут и как-нибудь разберёшься.
В рекламе рассказываешь какой у тебя премиальный продукт с уникальными технологическими решениями внутри и поэтому проверяйте оригинальность сканируя QR.
funca
Разделение производства между исполнителями так, чтобы ни кто из них не получил возможности изготовления законченного изделия целиком и составить конкуренцию это нормальная практика. Просто это не только работа для инженеров, но и маркетинга.
Если у завода появится возможность продажи, значит есть какой-то дополнительный спрос. Почему компания городит огород вместо того, чтобы его закрыть дополнительными продажами? Хотя допускаю, что автор статьи рассказал лишь часть истории и эти процессы идут параллельно.
Darkness_Paladin
на оригиналах -- адидас.ком, на неоригиналах будет абибас.ру -- с точно таким же дизайном, с точно такой же проверялкой QR, только с другим списком правильных номеров.
KivApple
Это гораздо более сильное палево, чем просто по-тихому гнать левак. А при наличии зарегистрированной международной торговой марки можно более-менее эффективно такие сайты-клоны гасить.
randomsimplenumber
Просто кто то при себестоимости Х очень хочет продавать по 10Х.
MountainGoat
Покупатель может и не знать, что у него подделка. Позже поймёт, но осадок останется.
Можно уронить репутацию всего класса устройств: "Погодь, это такие штуки с тремя полосками? Да они ж дохнут всё время!"
DenXXII
В целом я и на эти 2 пункта ответил в ответе на предыдущий коммент. Но касаемо репутационных рисков есть что добавить.
Если разнаботчик так заморачивается на тему защиты интеллектуальной собственности и от подделывателей, значит, скорее всего, он производит не что-то массовое типа HDMI сплиттеров, а нечто высокотехнологичное, вероятно, нишевое и не ширпотреб.
В таком случае покупателями будут те, кто сечет в теме, а не Алёшенька, который на алике покупает устройство "S26 Ultra" с поддержкой 4 сим карт за 100 евро. Который 20 лет назад покупал телефон NOKLA с антенной и функцией "Синий Зуб".
Ну а даже если речь про что-то более массовое, условный чайник перед покупкой нового компутера (сыну для учебы) пойдет на поклон к сисадмину на работе за советом. На крайняк выберет приличный сетевой магазин, решив, что "пусть подороже, но зато с гарантией, да и приличная фирма не будет контрафакт продавать". И в промежутке между 90-ми годами и 2022 оно ведь примерно так и было.
А заботиться о своей репутации в глазах чертей, которые мыслят в духе упомянутого выше Алёшеньки.... В конце концов, целевая аудитория другая, продается сложная и недешевая техника, покупатель должен быть соответствующий, который не наденет Abibas, ибо дешево и почти нет разницы.
randomsimplenumber
То аналогов на рынке дохрена. Чем именно эта пепяка так уникальна, что пиратить нужно именно ее?
DenXXII
PS, новомодный роутер с поддержкой новых стандартов, автомобильная электроника? Если выйти за рамки основного поста, то те же айфоны, и массовые, и с уникальными технологиями, например, не особо мощное железо, но работает не тупее китайских флагманов. Как и у самсунгов скромный по зарактеристикам аккум (чуть ли не вдвое ниже емкость в сравнении с теми же китайцами + не меняющиеся технологии), но есть секреты, как на таких аккумах продолжительность работы ± на одном уровне с поделками дядюшки Ляо
sdramare
И тогда риск что оно "заблокируется через 5 минут" тем более никто брать не будет.
DenXXII
Опять же таки, подделка заблокируется, подделка, купленная со скидкой у неофициального продавца.
Закажи с сайта производителя, тогда не заблокируется. А если заблокируется, по гарантии разблокируют
select26
Вот вы зачем фантазируете? Ну попытайтесь купить на сайте Cisco, Juniper или PaloAlto?
А модулей левых для всех этих платформ на рынке море.
randomsimplenumber
Если что то нишевое и неширпотребное - его сложно продать. И покупвтель там не мимопроходящий лох, в теме не разбирающийся.
Astroscope
Так даже и не подделка по сути, а "случайно" изготовленный экземпляр сверх заказанного объема. В этом смысл "третьей смены" - изделия абсолютно идентичны тем, что заказал сторонний заказчик, просто их сделали больше по количеству и "лишнее" продали в обход заказчика. Нужно какое-то другое слово, подделка не подходит. Подделка это когда изделие похоже, иногда почти неотличимо, но все же не равно оригиналу. А здесь именно что равно.
А что до репутации, то см. выше в комментариях про FTDI (и Prolific за компанию), чья борьба закончилась их собственным закатом и восхождением целого семейства копеечных CH340, их там реально много разных вариантов с разными буквами.
randomsimplenumber
Часто ли такое случается? Не с микросхемами FTDI, а с законченными устройствами?
Astroscope
У меня мало опыта, чтобы судить. Мне попадались устройства, про которые было заведомо известно, что это не официальный оригинал, но я отличить их от официального оригинала не смог. Но я не эксперт, пусть и без ложной скромности немного в теме, поэтому считайте вышесказанное тем, чем оно является - предположением, а не заключением эксперта. Одновременно и независимо мне попадались подделки, которые отличить внешне невозможно, но которые все же не полностью идентичны, причем вот это вот "не полностью идентичны" было сильно разным в разных подделках - некоторые были прямо отличного качества, а некоторые были бесполезным мусором. Но и внешне, и с точки зрения сервисного софта (он там очень примтивный, без серьезных проверок подлинности), это все выглядело неотличимо от оригинала.
LinkToOS
Контрафакт это называется.
Если устройство достаточно сложное, то на нем есть серийный номер. Если сделают лишнее, то разработчик это обнаружит - будет разрыв в номерах между партиями, или дублирование номеров. Тогда будет разбирательство с контрактным производителем.
Astroscope
Номера, конечно, можно наклеить любые. В моем случае структура номеров имитировала номера производителя, однако с известными производителю номерами совпадений не обнаружилось. Реакция производителя мне неизвестна, похоже они просто забили перед довольно таки косметическим обновлением модельного ряда. На новые модели тоже повылазили подделки очень быстро, но и на это, похоже, забили, вскорости снова обновив модельный ряд уже кардинально, заодно перейдя в более дорогую рыночную нишу - не из-за борьбы с подделками, а из-за изменения конъюнктуры рынка. Сейчас про подделки или третью смену мне ничего не известно, а оригинал довольно дорог в рознице. Наверное, научились пресекать простые способы, а сложные экономически бессмысленны.
В то же время их конкурент выкатил целый пресс-релиз про "остерегайтесь
НЁХподелок", а потом тоже сменил модельный ряд и тоже ушел в более дорогой сегмент, но подделки под уже официально снятые с производства модели все продолжают клепать. А под новые, дорогие - не знаю, никогда не слышал о таком.VelocidadAbsurda
Справедливости ради, FTDI - ну очень массовый копеечный товар с невообразимым кол-вом точек продажи/перепродажи, изначально непонятно, где оригиналы, где подделки (да ещё и уже проданное окирпичивали). В случае же более дорогого/штучного/уникального товара с сетью продаж вида «производитель и десяток официальных дилеров, перечисленных им» понимание, где оригинал, не теряется. Например, всякая аппаратура для диагностики авто, Scanmatik какой-нибудь - покупатели прекрасно знают, где брать оригиналы, клоны покупают на свой страх и риск, добрая слава оригинала от них только ширится.
Aelliari
При этом даже для тех самых FTDI был ряд контрафакта покачественней, который их софт не детектил, хотя механизмы детекта они обновляли
И был контрафакт который «физически» нельзя было перепрошить даже если софт их детектил. Поэтому «откат» драйверов возвращал их работоспособность
KivApple
Можно снизить эффект двумя мерами:
1) Наклейка с уникальным QR-кодом, который ведёт на ваш сайт и показывает не только признак подлинности, но и количество проверок. "Если вы отсканировали код, а наш сайт выдал ошибку - вы купили подделку, если не нулевое число - вы купили подделку или б/у". При этом наклейку клеите сами, а не на заводе китайцев. Операция копеечная.
2) Строить рекламную компанию на том, что "наше устройство такое сложное и высокотехнологичное, что очень сложно повторить без наших уникальных знаний и технологий и поэтому все подделки будут работать криво-косо, проверяйте аутентичность с помощью QR кода!". Про то что подделки вы сами ломаете софтово рассказывать не нужно. Это всё криворукие китайцы криво скопировали.
randomsimplenumber
Вы лох :)
LF69ssop
Нет, это значит только то что данный код уже проверяли.
KivApple
Если лепить внутрь в последствии запечатанной коробки, то это будет значит, что коробка была вскрыта, код проверен и переупакована (и это вполне себе приравненное к б/у), либо использован донорский код.
randomsimplenumber
Ну и зачем покупателю те заморочки? Производителю интересно играться в базу данных с номерами - ок. Покупатель принес деньги.
TheOldGrouch
а разве они куда-то делись? даже не разорились, насколько я понимаю. и даже прекратили всего на пару лет.
In February 2016, it was reported that FTDI had published another driver on Windows Update with DRM components intended to block non-genuine products. This time, the driver will communicate with affected devices, but all transmitted and received data is replaced with the looped ASCII string “NON GENUINE DEVICE FOUND!”, which could cause irregular interactions with devices.
randomsimplenumber
Перекладывать на покупателя свои головные боли.. футакимбыть