Перейти к содержанию
    

Design Security Features in Altera FPGAs

Подскажите пожалуйста, возможно ли стереть volatile ключ в Cyclone V, не снимая батерейки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожалуйста, возможно ли стереть volatile ключ в Cyclone V, не снимая батерейки.

 

Через JTAG можно, если Вы об этом.

 

На практике не пробовал, но полагаю, что JTAG команда "KEY_CLR_VREG" должна сделать свое дело. Выполнить ее можно либо через внешнее JTAG-подключение, либо используя internal JTAG (чтобы внутренней логикой управлять JTAG'ом).

Для internal jtag есть свой примитив (см. https://www.altera.com/en_US/pdfs/literature/an/an556.pdf)

 

cyclonev_jtag <jtagblock_name>

(

.clkdruser(),

.corectl(),

.runidleuser(),

.shiftuser(),

.tck(),

.tckcore(),

.tckutap(),

.tdi(),

.tdicore(),

.tdiutap(),

.tdo(),

.tdocore(),

.tdouser(),

.tdoutap(),

.tms(),

.tmscore(),

.tmsutap(),

.updateuser(),

.usr1user()

);

 

Изменено пользователем goodsoul

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Через JTAG можно, если Вы об этом.

 

На практике не пробовал, но полагаю, что JTAG команда "KEY_CLR_VREG" должна сделать свое дело. Выполнить ее можно либо через внешнее JTAG-подключение, либо используя internal JTAG (чтобы внутренней логикой управлять JTAG'ом).

Для internal jtag есть свой примитив (см. https://www.altera.com/en_US/pdfs/literature/an/an556.pdf)

 

cyclonev_jtag <jtagblock_name>

(

.clkdruser(),

.corectl(),

.runidleuser(),

.shiftuser(),

.tck(),

.tckcore(),

.tckutap(),

.tdi(),

.tdicore(),

.tdiutap(),

.tdo(),

.tdocore(),

.tdouser(),

.tdoutap(),

.tms(),

.tmscore(),

.tmsutap(),

.updateuser(),

.usr1user()

);

а как вообще через это все работать, что-то нормальную документацию с подробным описанием не находил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А, собственно, зачем вам это? Если тампер бит не взведён, то ПЛИС спокойно будет принимать нешифрованный битстрим. Считать volatile ключ нельзя. В чём смысл заботиться о стирании? В конкретном случае запись в volatile память любого мусора будет эквивалентно стиранию.

Изменено пользователем Inanity

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А, собственно, зачем вам это? Если тампер бит не взведён, то ПЛИС спокойно будет принимать нешифрованный битстрим. Считать volatile ключ нельзя. В чём смысл заботиться о стирании? В конкретном случае запись в volatile память любого мусора будет эквивалентно стиранию.

Если в ПЛИС уже содержится volatile ключ, то его перезаписать чем то невозможно и вылетаем ошибка, что там уже содержится volatile ключ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...