реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Design Security Features in Altera FPGAs, Стирание ключа
Nepoch
сообщение Jan 27 2017, 07:37
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 19-12-11
Из: Курск
Пользователь №: 68 971



Подскажите пожалуйста, возможно ли стереть volatile ключ в Cyclone V, не снимая батерейки.
Go to the top of the page
 
+Quote Post
goodsoul
сообщение Feb 7 2017, 10:07
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 3-09-09
Пользователь №: 52 178



Цитата(Nepoch @ Jan 27 2017, 10:37) *
Подскажите пожалуйста, возможно ли стереть 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 - Feb 7 2017, 11:09
Go to the top of the page
 
+Quote Post
Nepoch
сообщение Feb 9 2017, 06:02
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 19-12-11
Из: Курск
Пользователь №: 68 971



Цитата(goodsoul @ Feb 7 2017, 13:07) *
Через 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()
);

а как вообще через это все работать, что-то нормальную документацию с подробным описанием не находил
Go to the top of the page
 
+Quote Post
Inanity
сообщение Feb 11 2017, 10:25
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 6-07-12
Пользователь №: 72 653



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

Сообщение отредактировал Inanity - Feb 11 2017, 10:28
Go to the top of the page
 
+Quote Post
Nepoch
сообщение Feb 15 2017, 18:14
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 19-12-11
Из: Курск
Пользователь №: 68 971



Цитата(Inanity @ Feb 11 2017, 13:25) *
А, собственно, зачем вам это? Если тампер бит не взведён, то ПЛИС спокойно будет принимать нешифрованный битстрим. Считать volatile ключ нельзя. В чём смысл заботиться о стирании? В конкретном случае запись в volatile память любого мусора будет эквивалентно стиранию.

Если в ПЛИС уже содержится volatile ключ, то его перезаписать чем то невозможно и вылетаем ошибка, что там уже содержится volatile ключ
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th March 2017 - 14:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016