Цитата
по каким проводам?
Это шарада такая

?
Цитата
Вместо далласовской еепромки, можно свой микроконтроллер ставить со своим алгоритмом аутентифткации
Прелесь сего, что ничего изобретать самому не надо. Если уж контроллер ставить, дык и такой метод не к чему. Ну а "истинное" случайное зерно можно другими способами рожать, например фиксировать значение счетчика (тактирующегося от глобальной тактовой) по активации LOCK у DLL/DCM ...
Цитата(3.14 @ Jun 6 2006, 23:54)

Цитата
по каким проводам?
Это шарада такая

?
Цитата
Вместо далласовской еепромки, можно свой микроконтроллер ставить со своим алгоритмом аутентифткации
Прелесь сего, что ничего изобретать самому не надо. Если уж контроллер ставить, дык и такой метод не к чему. Ну а "истинное" случайное зерно можно другими способами рожать, например фиксировать значение счетчика (тактирующегося от глобальной тактовой) по активации LOCK у DLL/DCM ...
Лучше иметь случайность которая не зависит от внешних воздействий (частота и т.д.) -
температура тут не всчёт, так как такой генератор наверное будет от неё зависить
Цитата(3.14 @ Jun 6 2006, 14:30)

Ребята, дык в любом случае, по проволочке будет бпродить как адрес так и сами "секретные" данные. Тут никакого микроскопа не надо, чтобы за "миллион" включений платы всю ПЗУ скопировать.
почему ? ИМХО все дело будет в длинне ключа и длинне последовательности, которая для этого используеться.
Хотя я солидарен с фразой
Если стоимость защищаемой информации меньше, чем эта сумма на взлом информаци, то можно считать что задача выполнена.
2 Maksim
Время за которое DLL "захватывает" входной сигнал, зависит и от напряжения и от температуры и от фазы луны

Цитата
почему ? ИМХО все дело будет в длинне ключа и длинне последовательности, которая для этого используеться.
Хотя я солидарен с фразой
Разве EEPROM может чего то шифровать? Она просто выдает свое содержимое (или я что упустил?) ...
Цитата(Maksim @ Jun 6 2006, 21:56)

проект с полином работает - проверил на 3-х платах со Спартаном-3 (200т.вентилей)
на выходе при каждом включении-выключении -появляются разные значения
"качество" шума не обсчитывал, еепромку не подключал...
...так, что ... работает

мона пользовать
Скажите пожалуйста какую тактовую частоту Вы подавали на вход?? И какой длины получалется выходная последовательность??
Цитата(3.14 @ Jun 7 2006, 15:43)

2 Maksim
Время за которое DLL "захватывает" входной сигнал, зависит и от напряжения и от температуры и от фазы луны

Цитата
почему ? ИМХО все дело будет в длинне ключа и длинне последовательности, которая для этого используеться.
Хотя я солидарен с фразой
Разве EEPROM может чего то шифровать? Она просто выдает свое содержимое (или я что упустил?) ...
Может. EEPROM имеет на борту блок, осуществляющий шифрование по алгоритму SHA-1. На нем все и держится.
Упс, извиняюсь за клевету

Жалко только что стоят они ~3$
2 'Pruga'
частота 50 мгц, но это не важно - главное что на входе полинома постоянно меняющиеся данные.
Длину съёма обычно берут 2N (N-степень полинома), т.е. чтолько тактов крутят в пустую полином, а потом делают съём данных. Количество данных берут - кому сколько надо
Полином можно тоже любой брать - и с большим основанием
EvgenyNik
Jun 9 2006, 11:28
Почему-то ни разу не задавался этим вопросом, хотя работаю с ПЛИСками постоянно.
Если бы делать, выбрал бы такой путь:
1. FPGA+CPLD (flash внутри). Допустим, Cyclone и MAXII 240-ая. (цена этой CPLDшки около 6-7 у.е.)
2. FPGA грузится свободно, т.е. открыто и сразу начинает работать. (это важно для быстро стартующих систем).
3. Через некоторое время FPGA начинает читать последовательность из внутренней flash CPLD, одновременно передавая в CPLD некие данные, 99% которых - функция обычного ГенСлЧисл (шум, проще говоря), а 1% - управляющие команды (для чего они нужны - позже).
4. В FPGA и в CPLD реализованы несколько рекурсивных функций. В процессе чтения последовательности одинаковые алгоритмы определяют - по какому из заложенных законов были сгенерированы интервалы последовательности.
5. Важно, чтобы интервалы, полученный рекурсивными функциями были намного короче периода распозоваемости самих функций.
6. После обработки последовательности, в FPGA и в CPLD формируются наборы из номеров распознанных функций.
6. В CPLD полученный набор пропускается через функцию, которая была распознана первой(например) и пересылается в FPGA.
7. FPGA внутри делает тоже самое и сравнивает. Если совпало - первый этап пройден.
8. В п.3 было сказано про передачу из FPGA в CPLD управляющих команд. Это номера функций, которыми надо обработать исходную последовательность и перезаписать её, что делается одновременно с последующим чтением.
9. Затем читается перезаписанная последовательность, проверяется и если всё совпало - второй этап пройден.
10. Прохождение двух этапов означает, что идентификация прошла успешно. При непрохождении в 2 раза в CPLD передаётся команда - запрета дальнейшего обмена, которая записивается во внутреннюю flash и в дальнейшем FPGA, загрузившись и проработав несколько секунд, повисает.
---
-) требуется внешняя CPLD
+) последовательность всегда разная
+) при сбоях в последовательности (внезапное отключение питания) - система самовосстанавливается, причём используя испорченную последовательность.
+) никаких ключей не передается, передаются только указатели на них
+) нет возможности подсунуть внешний тест, т.к. CPLD проверяет исходящие данные, а FPGA запоминает - какие указания давала CPLD и сверяет на втором этапе.
+) в процессе идентификации идёт постоянный по скорости двухсторонний обмен, что осложняет отделение управляющих директив от данных.
+) дешево
Вообщем метод с EEPROM имеет право на жизнь и дальнейшую аппробацию. Собираюсь использовать его в проекте со Spartan3-400. Кстати, можно добавить его в классификацию, предложенную ранее 3,14 под пунктом 3.3.
2 Евгений Николаев.
Насколько я понял, преимущество этого метода по сравнению с предложенным выше от Xilinx'a в возможности самому реализовать алгоритм шифровки и проверки шифрованных данных, что возможно усложнит работу взломщику??
HardJoker
Aug 11 2006, 13:35
Цитата(Андрей Харитонов @ Mar 31 2005, 05:44)

я думаю так
если ценность вашей FPGA прошивки сравнима со стоимостью нового истребителя то не поможет ничего, т.к. все ваши дополнительные навешанные компоненты легко прочтуться даже с битами защиты специализирующимися на этом фирмами (чтение закрытого проца 1-5 тысяч $, закрытой CPLD 1-10 тысяч $). В этом случае можно говорить только о степени затруднения копирования проекта - поставить пару редко используемых в разработках процессоров разных производителей втом числе например наш КР1878ВЕ1, парочку CPLD опять таки разных производителей, наплевать на мучения покупателя товара по истечении гарантийного срока и поставить батарейку, на проци водрузить шифрованный обмен, в CPLD можно вынести жизненно важные куски схемы - и все равно стоимость истребителя перевесит (не поможет и батарейка). А уж если в копировании заинтересована американская сторона, да еще и вся элементная база у вас американская - вообще труба (у них на всех процах и плисах закладки стоят - че хочешь сделают и прошивку сдерут и из строя выведут, только что танцевать плисину не заставят, а на серьезном софте компиляторы в прошивку доп информацию с зашифрованным исходным кодом включают, так что и проблем с декомпиляцией особо не будет).
если же ценность в копировании вашей разработки << стоимости истребителя, то практически любое начинание в желании защитить битстрим на 99.9% даст желаемый результат, даже если сделать это не очень профессионально. Это будет зависеть от произведения (число ваших конкурентов и готовых ими стать) * (из них имеющих опыт в реверс инжиниринге) * (планируемая выгода)
Sorry, даже не смешно, скорее грустно...
Уже упомянутый выше LatticeXP позиционируется фирмой производителем как схема, способная обеспечить адекватную защиту заказных IP-ядер. Если учесть, что цены на sabj порядка 70k$, делайте выводы. Цифирь подсмотрел на www.xilinx.com в разделе партнеров. Аппаратно защита строится на трех физических уровнях и методом снятия крышки с последующим подсоединением к внутренним шинам задача не решается. Деблокировать защиту или снимать информацию надо по объему, а не по площади поверхности. Это раз...
Во-вторых, сами буржуи заинтересованы в корректном функционировании sabj и без всяких закладок. У них с этим просто - зарплата адвокатов много раз превышает зарплату инженеров.
HardJoker
Aug 11 2006, 14:15
Цитата(acex2 @ Apr 4 2005, 23:49)

Цитата(3.14 @ Apr 4 2005, 16:33)
Я просто не понял почму содержимое FPGA при этом нельзя через JTAG прочитать?
А вы поставьте FPGA в BGA корпусе и TDO на разъем не выводите

Пара пустяков: выпаиваем FPGA, восстанавливаем шарики, запаиваем на свою плату, где подано питание и есть JTAG... Всех дел - минут сорок. Примочка для восстановления шариков - 150...200$. Ссылку дать?
Цитата(HardJoker @ Aug 11 2006, 18:15)

Цитата(acex2 @ Apr 4 2005, 23:49)

Цитата(3.14 @ Apr 4 2005, 16:33)
Я просто не понял почму содержимое FPGA при этом нельзя через JTAG прочитать?
А вы поставьте FPGA в BGA корпусе и TDO на разъем не выводите
Пара пустяков: выпаиваем FPGA, восстанавливаем шарики, запаиваем на свою плату, где подано питание и есть JTAG... Всех дел - минут сорок. Примочка для восстановления шариков - 150...200$. Ссылку дать?
Вы лучше тему внимательнее прочитайте, особенно на два поста выше моего, который вы процитировали, прежде чем вырывать фразы из контекста. Заодно обратите внимание что значок

подразумевает наличие у собеседника чувства юмора.
Интересуют книги/статьи и т.п. по обеспечению защиты прошивки ПЛИС. Буду очень признателен за дополнительные комментарии. Насколько слышал краем уха для защиты используется дополнительный CPLD. Я в этих вопросах новичок, позтому прошу ногами не пинать blush.gif.
На самом деле, на мой взляд, защиты нет вообще не от чего, имею ввиду что у Вас есть подходящее считывающее устройчтво, которое может зафиксировать поток информации на интересующее Вас время на определенном устройстве, например, на время инициализации FPGA от CPLD. При любом алгоритме кодирования, как я понимаю, Вас интересует возможность как минимум повторения кода поступающим на FPGA. Если Вы его считали правильно, то на конкретном объекте повторить его не проблема, поскольку .... код загрузки Вы уже считали. Прочитать многослойную плату нет проблем, если это надо, ... INTEL8080, в общем-то размывали.
P.S. Если вопрос в модификации кода, то ИХМО вряд-ли этим кто-то будет заниматься, конечно при условии что у Вас нет "Пионерских" решений тянущих на Nobel.., и то их наверное "другие" решат по своемую. Все мы люди, а значит Мыслящие.
Цитата(tyro @ Oct 21 2006, 23:12)

На самом деле, на мой взляд, защиты нет вообще не от чего, имею ввиду что у Вас есть подходящее считывающее устройчтво, которое может зафиксировать поток информации на интересующее Вас время на определенном устройстве, например, на время инициализации FPGA от CPLD. При любом алгоритме кодирования, как я понимаю, Вас интересует возможность как минимум повторения кода поступающим на FPGA. Если Вы его считали правильно, то на конкретном объекте повторить его не проблема, поскольку .... код загрузки Вы уже считали. Прочитать многослойную плату нет проблем, если это надо, ... INTEL8080, в общем-то размывали.
Stratix II. На борту есть мелкая энергонезависимая память, где хранится длинный ключ, зашитый туда разработчиком. Загрузочный поток закодирован и раскодируется внутри. Вы считали этот поток. Что будете с ним делать. Ключа не знаете. Сможете повторить устройство?
To dxp
[/quote]
Stratix II. На борту есть мелкая энергонезависимая память, где хранится длинный ключ, зашитый туда разработчиком. Загрузочный поток закодирован и раскодируется внутри. Вы считали этот поток. Что будете с ним делать. Ключа не знаете. Сможете повторить устройство?
[/quote]
В этом случае я однозначно нет. Из области предположений: мне кажется, что разработчики оставили для себя недокументированную лазейку, чтобы добраться до содержимого этой памяти.
На всякий случай перекрестился, но все равно кажется.
Цитата(tyro @ Oct 23 2006, 13:47)

В этом случае я однозначно нет. Из области предположений: мне кажется, что разработчики оставили для себя недокументированную лазейку, чтобы добраться до содержимого этой памяти.
На всякий случай перекрестился, но все равно кажется.
Ну, тогда в любом МК с защитой прошивки можно предполагать такую лазейку. Только это врядли - все тайное рано или поздно становится явным - а это скандал, который фирме-производителю никак не нужен. Т.ч. вряд ли она будет это делать - большой риск при сомнительных мотивах.
На всякий случай уточню: тот упомянутый ключ зашивает не фирма-производитель микросхемы, а разработчик, который использует микросхему. Т.е. при генерации загрузочного потока, оный генерится в закодированном виде и генерится тут же ключ для этого потока. Сам поток разработчик (или на производтсве) помещает в микросхему-загрузчик (или в хост, если загрузка производится с хоста), а ключ зашивает в упомянутую FPGA. Ключ можно стереть, перезаписать новый. Но не прочитать. Таким образом, не зная ключа, устройство повторить крайне сложно (если не сказать невозможно). Недостаток этого подхода в том, что такая фишка есть только у очень ограниченного на сегодняшний день, ряда ПЛИС, я кроме того Стратикса больше не знаю (варианты с внутренней ПЗУ или с внешней батарейкой не в счет

).
To dxp
Мысли в догонку: после окончания ЛИКБЕЗА работал в одном институте, тогда, если память не изменяет, ломали коды с 24 битами защиты, причем эти биты были не константами, а сами модифицировались в процессе шифрования. С тех пор прошло лет 30, думаю криптография за это время продвинулась. (Сам я занимюсь железом, а не математикой, поэтому за развитием криптографии не слежу). Есть и второй путь: подойти как к черному ящику, задать свой поток данных, посмотреть на отклик, новый поток ... в конце концов есть большая вероятность получить искомый результат. У нас этот курс назывался "Управление Большими Системами".
Паранойа кругом... Сразу оговорюсь, что я сторонник технологии и идеологии GNU/Linux.
1) Если Вы разработчик крутой, уникальной, дорогой IP, и работает она на крутых, штучных, дорогих FPGA - в этом случае используйте Stratix, это реальная потребность рынка, и она удовлетворяется Altara-ой, и Xilinx тоже что-нибудь предложит.
2) Если Вы разработчик достаточно типовой IP, что-то вроде PCI контроллеров (на крякнутых корках, кстати), и цена чипов на которые вы ориентируетесь на уровне $10-20, то данная проблема будет интересовать только параноидальных инженеров, которые видят себя Биллами Гейтсами в молодости, но забывают о том, что папа у него был начальником юридического отдела корпорации IBM. То есть Вам это не грозит (создать IP и немеренно обагатиться на ней).
Потому что:
В реальной жизни, IP для FPGA это очень маленькая часть общей картины. Даже если Вы произиодитель решений платного уровня (board level solutions), то есть еще код для MCU, есть гербера плат, есть драйвера системного уровня для целевой ОС. И это только по железу как таковому. Далее идет маркетинг, раскрутка брэнда, организация дистрибуторской сети и техническая поддержка заказчиков. По хорошему, продукт должен быть и электронным образом интегрирован в Вашу сеть поддержки, то есть обновления драйверов, той же прошивки FPGA и MCU должны регулярно доставляться платящим заказчикам и автоматически обноляться на их системах.
В этом случае возникновение клонов Вашего продукта будет говорить только о том, что Вы достигли немеренного успеха, и как говорят бывалые инвесторы - "это проблемы, которые мы хотим иметь". А Вы, при условии постоянного вложения сил и средств в дальнейшее развитие продукта все равно будете иметь элитный сектор рынка, по Вашему продукту, а производители клонов будут обслуживать те сектора, которые Вам по большому счету и не нужны.
Вот так.
Цитата(vleo @ Nov 2 2006, 16:28)

Паранойа кругом... Сразу оговорюсь, что я сторонник технологии и идеологии GNU/Linux.
1) Если Вы разработчик крутой, уникальной, дорогой IP, и работает она на крутых, штучных, дорогих FPGA - в этом случае используйте Stratix, это реальная потребность рынка, и она удовлетворяется Altara-ой, и Xilinx тоже что-нибудь предложит.
2) Если Вы разработчик достаточно типовой IP, что-то вроде PCI контроллеров (на крякнутых корках, кстати), и цена чипов на которые вы ориентируетесь на уровне $10-20, то данная проблема будет интересовать только параноидальных инженеров, которые видят себя Биллами Гейтсами в молодости, но забывают о том, что папа у него был начальником юридического отдела корпорации IBM. То есть Вам это не грозит (создать IP и немеренно обагатиться на ней).
Золотые слова. Полностью присоединяюсь и поддерживаю
И кстати если проеект так безумно крут то почему бы не сделать ASIC. И 3/4 воплей сразу исчезают.
Al Volovich
Nov 22 2006, 15:20
У Lattice есть очень симпатичная серия LFXP - FPGA со встроенной защищаемой флэш. Стоит подешевле Actel.
http://www.latticesemi.com/products/fpga/xp/index.cfm
Tornado-Alex
Dec 8 2006, 15:13
Некоторое время назад был вынужден озадачиться эти вопросом, но почитав это:
Цитата(vleo @ Nov 2 2006, 13:28)

Потому что:
В реальной жизни, IP для FPGA это очень маленькая часть общей картины. Даже если Вы произиодитель решений платного уровня (board level solutions), то есть еще код для MCU, есть гербера плат, есть драйвера системного уровня для целевой ОС. И это только по железу как таковому. Далее идет маркетинг, раскрутка брэнда, организация дистрибуторской сети и техническая поддержка заказчиков. По хорошему, продукт должен быть и электронным образом интегрирован в Вашу сеть поддержки, то есть обновления драйверов, той же прошивки FPGA и MCU должны регулярно доставляться платящим заказчикам и автоматически обноляться на их системах.
пришёл к выводу, что vleo даже очень прав, за что большой

ему!
Максимум, что можно сделать, так это натыкать "простеньких" защиточек, но во все элементы системы, чтобы как минимум принудить злоумышленника прибегнуть к поиску специалистов разных направлений деятельности от PCB-дизайнера до программера верхнего уровня (или выше).
А если он (злоумышленник) сможет собрать такую команду, то смысл чего-то "ломать"? уже проще свою систему сделать
А ктонибудь использовал микросхему DS2432 Secure EEPROMs для защиты проектов на ПЛИС?
Curious
Feb 6 2007, 04:24
Цитата(Styv @ Jan 5 2007, 13:19)

А ктонибудь использовал микросхему DS2432 Secure EEPROMs для защиты проектов на ПЛИС?
Но ведь ключ также находится и в ПЛИС-ке...? Кто мешает поправить её на выходе IFF? Это лишь защита от бездумного копирования.
Raimis
Feb 19 2007, 20:58
Случайно наткнулся на интересный фич спартана 3а. Хилинх утверждает, что онная FPGA имеет серийный номер и на той основе можно зделать защиту от копирования прошивки! Но на ихнем сайте ненашел толком описанного способа защиты. На новом Импакте есть опция 'Spartan 3an - data protect', но как она работает - неясно. Может кто нибудь интересовался этим вопросом и сможет просветить? И еще не очень понятно продается уже s3a или нет?
Мастер-Ломастер
Feb 28 2007, 22:05
новьё от Xilinx
The new Spartan™-3AN FPGA platform signifies a breakthrough marriage of uncompromised SRAM FPGA and leading-edge Flash technologies. With highly advanced on-chip security features, the Spartan-3AN platform provides a cost-effective solution to help prevent reverse-engineering, cloning, and unauthorized overbuilding. Furthermore, designers can achieve superior system flexibility with up to 11Mb of integrated user Flash
В догонку к пункту 3.1 приведу картинку, которая распространяется в рамках Altera Training Courses:
Я правильно понимаю, что я задаю ключ в FPGA (Virtex 4 с батарейкой) и потом могу пересылать заказчику битстрим, шифрованный этим ключом? На плате, куда я зашил в ПЛИС этот ключ мой битстрим будет работать без проблем, но ни для чего больше он не будет годен. Так?
Maksim
Jun 10 2007, 11:17
Цитата(Chudik @ Jun 4 2007, 21:18)

Я правильно понимаю, что я задаю ключ в FPGA (Virtex 4 с батарейкой) и потом могу пересылать заказчику битстрим, шифрованный этим ключом? На плате, куда я зашил в ПЛИС этот ключ мой битстрим будет работать без проблем, но ни для чего больше он не будет годен. Так?
Правильно
Цитата(vleo @ Nov 2 2006, 16:28)

...
Потому что:
В реальной жизни, IP для FPGA это очень маленькая часть общей картины. Даже если Вы произиодитель решений платного уровня (board level solutions), то есть еще код для MCU, есть гербера плат, есть драйвера системного уровня для целевой ОС. И это только по железу как таковому. Далее идет маркетинг, раскрутка брэнда, организация дистрибуторской сети и техническая поддержка заказчиков. По хорошему, продукт должен быть и электронным образом интегрирован в Вашу сеть поддержки, то есть обновления драйверов, той же прошивки FPGA и MCU должны регулярно доставляться платящим заказчикам и автоматически обноляться на их системах.
...
Вот так.
Пожалуй не соглашусь, по вот какой причине:
Производители апаратуры защиты информации реализуют на FPGA свои криптоалгоритмы. Анализ этих алгоритмов может выявить их слабость. Реализовать криптоалгоритм на ПЛИСах не сложно, гораздо сложнее его защитить от анализа. В этом случае ценность вскрытия бит-потока определяеться ценностью шифруемой информации деленной на сложность восстановления семантики бит.
И таких примеров, где ПЛИС - найболее уязвимое место, можно привести много.
EvgenyNik
Aug 20 2007, 05:43
Простенький вариант для защиты, например, FPGA серии Cyclone, загружающихся с конфигурационной микросхемы.
Используем в проекте мегафункцию altasmi_parallel, которая может читать ID-код конфигурационной микросхемы. В проекте создаем функцию чтения этого ID и сравнения с константой.
Перед прошивкой, читаем этот ID, закладываем его в качестве константы в проект, компилируем, прошиваем. Выходит, что эта же прошивка с другой конфигурационной микрухой работать не будет.
+) программная простота решения (готовая мегафункция).
+) отсутствие дополнительных схемных наворотов (штатный вариант AS-конфигурирования).
+) внешняя незаметность защиты (на первый взгляд, конечно).
-) индивидуальный подход к каждой прошивке (мелочь, но неприятно).
-) возможность обхода, путём установки промежуточной ПЛМ, которая будет при чтении ID подсовывать значение, снятое с оригинальной прошивки, вместо читаемого с любой другой микросхемы.
-) затраты логической структуры ПЛИС на функцию чтения и сравнения.
Цитата(Евгений Николаев @ Aug 20 2007, 09:43)

Простенький вариант для защиты, например, FPGA серии Cyclone, загружающихся с конфигурационной микросхемы.
Используем в проекте мегафункцию altasmi_parallel, которая может читать ID-код конфигурационной микросхемы. В проекте создаем функцию чтения этого ID и сравнения с константой.
Перед прошивкой, читаем этот ID, закладываем его в качестве константы в проект, компилируем, прошиваем. Выходит, что эта же прошивка с другой конфигурационной микрухой работать не будет.
Такой метод будет работать, если ID задается производителем, уникален для каждой микросхемы и не может быть изменен пользователем. У альтеровских флешей (они же ST) такого нет. Раз так, что мешает скопировать содержимое полностью?
Если в качестве ID используется 3 байта, выдаваемых по команде RDID, то они одинаковы для микросхем одного типа одного производителя.
cupertino
Aug 20 2007, 20:57
Цитата(mASIC @ Jul 7 2007, 13:57)

Пожалуй не соглашусь, по вот какой причине:
Производители апаратуры защиты информации реализуют на FPGA свои криптоалгоритмы. Анализ этих алгоритмов может выявить их слабость. Реализовать криптоалгоритм на ПЛИСах не сложно, гораздо сложнее его защитить от анализа.
Наилучшие криптоалгоритмы не надо анализировать путем вскрытия ПЛИСов. Они
опубликованы (например, AES).
Цитата(cupertino @ Aug 20 2007, 23:57)

Наилучшие криптоалгоритмы не надо анализировать путем вскрытия ПЛИСов. Они опубликованы (например, AES).
Для стандартизированых алгоритмов типа AES есть специальные микросхемы, которые и защищать то не надо. А вот фирменные алгоритмы реализуют либо на стандартных контролерах (10%), либо на ASIC(60%), либо на FPGA(30%). Кстати, хорошо что Ты знаешь такой замечательный алгоритм как AES, я их знаю около 3 сотен. И поверь некоторые из них имеют ДЫРЫ, при этом широко используются и реализованы на ПЛИС. На самом деле, даже системы со стойкими алгоритмами (умышленно или случайно) оказываются хлипкими в т.ч. благодаря FPGA.
cupertino
Oct 23 2007, 21:45
Цитата(mASIC @ Oct 23 2007, 13:37)

Для стандартизированых алгоритмов типа AES есть специальные микросхемы, которые и защищать то не надо. А вот фирменные алгоритмы реализуют либо на стандартных контролерах (10%), либо на ASIC(60%), либо на FPGA(30%).
Что такое "фирменный алгоритм"?
Цитата
Кстати, хорошо что Ты знаешь такой замечательный алгоритм как AES, я их знаю около 3 сотен.
Я AES знаю очень хорошо, и причем один:
http://csrc.nist.gov/archive/aes/index.html. Пожалуйста, поделитесь
Вашими знаниями о 299 остальных (можно не обо всех. хотя бы один пример

)
Цитата(cupertino @ Oct 24 2007, 00:45)

Что такое "фирменный алгоритм"? Я AES знаю очень хорошо, и причем один:
http://csrc.nist.gov/archive/aes/index.html. Пожалуйста, поделитесь
Вашими знаниями о 299 остальных (можно не обо всех. хотя бы один пример

)
Например фирма BusinessSecurity AB (Швеция). У них на страничке
http://www.businesssecurity.com/products/technology.phpесть
"Hardware Features
Our cryptographic hardware is based on
programmable gate array technology (FPGA circuits), which are not only efficient but also make it suitable for custom-designed solutions. FPGA circuits are considered the most secure technology for encryption algorithms...",
"Symmetric
Proprietary Algorithms
To take one modern example, Business Security excels in the development of symmetric
proprietary algorithms..."
или же "Proprietary bit stream feedback cipher with expansion and automatic synchronization 256-bit key" в SecuriFax из Point-to-Point Products, а вот и атака на этот алгоритм называемый SBLH
Cryptanalysis of SBLH
cupertino
Oct 24 2007, 20:58
Цитата(mASIC @ Oct 24 2007, 13:09)

Например фирма BusinessSecurity AB (Швеция). У них на страничке
http://www.businesssecurity.com/products/technology.phpесть
"Hardware Features
Our cryptographic hardware is based on
programmable gate array technology (FPGA circuits), which are not only efficient but also make it suitable for custom-designed solutions. FPGA circuits are considered the most secure technology for encryption algorithms...",
"Symmetric
Proprietary Algorithms
To take one modern example, Business Security excels in the development of symmetric
proprietary algorithms..."
или же "Proprietary bit stream feedback cipher with expansion and automatic synchronization 256-bit key" в SecuriFax из Point-to-Point Products, а вот и атака на этот алгоритм называемый SBLH
Cryptanalysis of SBLH1. Уважаемый mASIC, я все-таки, так и не понял, какой из приведенных Вами примеров является альтернативным (одним из 299 которые Вы знаете в дополнение к стандарту) AES?
2. Примеров нестандартных security algorithms можно привести очень много, но ни у одного из них нет никаких серьезных преимуществ перед стандартными. В наше время практически все серьезные пользователи используют стандартные алгоритмы.
Цитата(cupertino @ Oct 24 2007, 00:45)

Пожалуйста, поделитесь Вашими знаниями о 299 остальных ...
P.S. Говоря о трех сотнях, я имел ввиду не варианты AES, а общее количество алгоритмов. Sorry за фамильярность, ибо ВАШЕ замечание, как мне показалось, отдавало зеленостью и молодостю.
cupertino
Oct 24 2007, 21:15
Цитата(mASIC @ Oct 24 2007, 14:04)

P.S. Говоря о трех сотнях, я имел ввиду не варианты AES, а общее количество алгоритмов. Sorry за фамильярность, ибо ВАШЕ замечание, как мне показалось, отдавало зеленостью и молодостю.
Извинение принято. Насчет молодости - увы, а с "зеленостью" все в порядке - на знании AES (в том числе) я заработал сотни тысяч долларов

.
Цитата(cupertino @ Oct 24 2007, 23:58)

2. Примеров нестандартных security algorithms можно привести очень много, но ни у одного из них нет никаких серьезных преимуществ перед стандартными. В наше время практически все серьезные пользователи используют стандартные алгоритмы.
1. Здесь обсуждаются вопросы защиты проектов в FPGA, а не преимущества тех или иных криптоалгоритмов. А криптоалгоритмы возникли лишь как пример того, что есть реализации, которые нуждаються в серьезной защите.
2. "Серьезные пользователи" порой и не догадываются, что стойкость зависит не от алгоритма, а от ключей. Если ключи плохо генерируются или каким-либо образом выползают наружу, то грош цена таким стандартным алгоритмам.
cupertino
Oct 24 2007, 22:13
Цитата(mASIC @ Oct 24 2007, 14:21)

"Серьезные пользователи" порой и не догадываются, что стойкость зависит не от алгоритма, а от ключей. Если ключи плохо генерируются или каким-либо образом выползают наружу, то грош цена таким стандартным алгоритмам.
"Серьезные пользователи" на то и серьезные, что не только догадываются, но даже знают. И даже стандарты более высокого уровня, в которых все это предусмотренно, применяют.
Какие-то у Вас очень странные представления о "серьезных пользователях", абстрактно-академические. Вы на практике имели с этим дело?
Цитата(cupertino @ Oct 25 2007, 01:13)

Какие-то у Вас очень странные представления о "серьезных пользователях", абстрактно-академические. Вы на практике имели с этим дело?
Конечно имел. Доводилось работать в лаборатории которая имеет дело с сертификацией оборудования. Порой попадались якобы супер-пупер защищенные (и при этом недешовые) экземпляры, в которых при тчательном инженерном анализе обнаруживались серьйозные проблемы. Кроме этого я писал дисер по защите FPGA.
Цитата(dxp @ Oct 23 2006, 10:20)

, а ключ зашивает в упомянутую FPGA. Ключ можно стереть, перезаписать новый. Но не прочитать.
Перезаписать??? Там же вроде однократно прожигаемые фьюсы стоят или я что-то пропустил?
cupertino
Nov 17 2007, 00:54
Цитата(Xenix @ Nov 16 2007, 10:12)

Перезаписать??? Там же вроде однократно прожигаемые фьюсы стоят или я что-то пропустил?
Нет, там либо NVM. либо память с отдельной батарейкой
Цитата(cupertino @ Nov 17 2007, 03:54)

Нет, там либо NVM. либо память с отдельной батарейкой
+1
The polyfuses used to store the security key are non-volatile and
one-time programmable. No battery is needed. After the Stratix II or
Stratix II GX device is programmed with the key, it can only be
configured with configuration files encrypted with the same key.
Attempts to configure the Stratix II or Stratix II GX device with an
unencrypted configuration file or a configuration file encrypted with
the wrong key result in configuration failure. Therefore, tampering
of the design file can be detected.
altera.com/literature/an/an341.pdf
а то аж испужался )) если можно опять переписывать, то зачем же ключ нужен?!
Цитата(Tornado-Alex @ Dec 8 2006, 18:13)

Некоторое время назад был вынужден озадачиться эти вопросом, но почитав это:
пришёл к выводу, что vleo даже очень прав, за что большой

ему!
Максимум, что можно сделать, так это натыкать "простеньких" защиточек, но во все элементы системы, чтобы как минимум принудить злоумышленника прибегнуть к поиску специалистов разных направлений деятельности от PCB-дизайнера до программера верхнего уровня (или выше).
А если он (злоумышленник) сможет собрать такую команду, то смысл чего-то "ломать"? уже проще свою систему сделать

Я думаю, vleo прав только теоретически. Он рассматривает идеальную модель производственного процесса, когда творческий коллектив полностью заодно и выступает только против внешнего мира. К сожалению, такого не бывает. Внутри производственного коллектива обязательно зреют противоречия, например, между хозяином и наемным исполнителем. Последнего просто могут кинуть, или заменить на блатного родственника...всякое бывает. Поэтому защита интеллектульного труда, проекта FPGA в частности, нужна прежде всего от своих же коллег по работе и нанимателей. Защищаться же от "внешних врагов" смысла не имеет никакого.
Bad0512
Feb 18 2008, 10:06
Цитата(Aprox @ Dec 18 2007, 16:45)

Я думаю, vleo прав только теоретически. Он рассматривает идеальную модель производственного процесса, когда творческий коллектив полностью заодно и выступает только против внешнего мира. К сожалению, такого не бывает. Внутри производственного коллектива обязательно зреют противоречия, например, между хозяином и наемным исполнителем. Последнего просто могут кинуть, или заменить на блатного родственника...всякое бывает. Поэтому защита интеллектульного труда, проекта FPGA в частности, нужна прежде всего от своих же коллег по работе и нанимателей. Защищаться же от "внешних врагов" смысла не имеет никакого.
"когда в товарищах согласья нет - на лад их дело не пойдёт, а выйдет из него не дело - только мука. Однажды лебедь, рак и щука..." Мне кажется что работать в атмосфере взаимной паранойи - это значит неуважительно относиться как минимум к себе самому. А вообще по-моему самый правильный подход в вопросах защиты прошивок - ничего вообще не защищать! Ибо даже если кто-то что-то сворует - это как минмум для меня неплохая реклама. И если у кого-то хватило мозгов понять как всё это работает и хватило квалификации всё это спереть - огромный ему от меня "респект и уважуха". Пусть ворует дальше - будет мне бесплатная реклама! Но такой подход применим видимо только в области коммерческих проектов, в области вояк, правительственных структур и прочих параноидальных монстров видимо так поступать нельзя, ибо в данном случае возникает вопрос - а зачем нам вообще нужны эти монстры если они не раздувают в обществе атмосферу взаимной подозрительности...
хм...подниму-ка тему.
Практически все варианты защиты информации, обрабатываемой и выдаваемой с помощью SRAM FPGA вызывают у меня большие сомнения.
В голову пришла одня мысля :
1. В загрузочном ПЗУ висит типовая прошивка, работающая в открытом режиме буз ограничений на продажу.
2. Для специальных заказчиков существует специальная прошивка, загружаемая в плиску с какой-нибудь машины под управлением МСВС(или переносного бластера), сожержащая дополнительные функциональные узлы

Таким образом защита закрытого функционала лежит на плечах потребителя закрытой информации. Основным приципом защиты информации будет являться отсутствие защищаемой информации
Цитата(vetal @ Apr 10 2008, 21:59)

2. Для специальных заказчиков существует специальная прошивка, загружаемая в плиску с какой-нибудь машины под управлением МСВС(или переносного бластера), сожержащая дополнительные функциональные узлы
Таким образом защита закрытого функционала лежит на плечах потребителя закрытой информации. Основным приципом защиты информации будет являться отсутствие защищаемой информации

Подобное решение уже используется.
Тут основной защитой является специфика заказчика + гриф на дополнительную прошивку.
rv3dll(lex)
May 22 2008, 08:32
Цитата(dxp @ Oct 23 2006, 11:20)

На всякий случай уточню: тот упомянутый ключ зашивает не фирма-производитель микросхемы, а разработчик, который использует микросхему. Т.е. при генерации загрузочного потока, оный генерится в закодированном виде и генерится тут же ключ для этого потока.
на конференции по ксайлинксу они утверждали что работа с внутренними ключами поддерживает также режим обновления с эфира, когда корректируется и прошивка и новый ключ. но это чтото уже связанное с абонетскими делами
самая наилучшая защита - низкая цена и обслуживание
или делать вещи, которые никто не сможет подделать - самолёт например))))
Цитата(rv3dll(lex) @ May 22 2008, 12:32)

самая наилучшая защита - низкая цена и обслуживание
или делать вещи, которые никто не сможет подделать - самолёт например))))
http://www.lenta.ru/news/2008/02/21/copy/
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.