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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> TAMPER, что это такое?
777777
сообщение Apr 1 2011, 04:56
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Просто внешнее прерывание? Тогда почему у него такое название?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 1 2011, 06:17
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(777777 @ Apr 1 2011, 07:56) *
Просто внешнее прерывание? Тогда почему у него такое название?


Это сигнал в охранных дивайсах или в фискальных блоках, при возникновении которого должны безвозвратно стираться критические данные, например ключи шифрования во внутренней RAM.
Например в STR912 такое прерывание приводит к стиранию отдельного участка во внутренней RAM.
Средство против хакеров.
Исполняется в виде микрика к крышке блока или микропроводника вокруг залитой компаундом платы и т.д.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 1 2011, 06:46
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(AlexandrY @ Apr 1 2011, 09:17) *
Например в STR912 такое прерывание приводит к стиранию отдельного участка во внутренней RAM.

А что будет сделано автоматически, например, у STM32F103?
Go to the top of the page
 
+Quote Post
Jury093
сообщение Apr 1 2011, 07:12
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(ViKo @ Apr 1 2011, 10:46) *
А что будет сделано автоматически, например, у STM32F103?

хм.. а в доке на камень прочитать. Например для 105:

Код
6.3.1 Tamper detection
The TAMPER pin generates a Tamper detection event when the pin changes from 0 to 1 or
from 1 to 0 depending on the TPAL bit in the Backup control register (BKP_CR). A tamper
detection event resets all data backup registers.

Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 1 2011, 07:27
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Jury093 @ Apr 1 2011, 10:12) *
хм.. а в доке на камень прочитать. Например для 105:

Спасибо (мне пока не было нужды использовать, там хотя бы, то, что нужно изучить!).
И как его приспособить для защиты (уничтожения) прошивки?
Go to the top of the page
 
+Quote Post
_3m
сообщение Apr 1 2011, 07:38
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(ViKo @ Apr 1 2011, 11:27) *
Спасибо (мне пока не было нужды использовать, там хотя бы, то, что нужно изучить!).
И как его приспособить для защиты (уничтожения) прошивки?

Ранее уже написали что по сигналу вскрытия уничтожаются ключи шифрования или цифровая подпись.
Ваша программа должна либо проверить цифровую подпись либо скопировать себя в рам и там расшифровать код.
В таком случае когда ключи уничтожены изделие теряет работоспособность.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Apr 1 2011, 07:52
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(ViKo @ Apr 1 2011, 11:27) *
Спасибо (мне пока не было нужды использовать, там хотя бы, то, что нужно изучить!).
И как его приспособить для защиты (уничтожения) прошивки?

дак выше уже писали - заводите на этот пин сигнал с внешнего датчика, кладете в бекап-регистры например ключ для дешифрования прошивки или просто любую сигнатуру
датчик сработал, на пине прошел перепад, регистры обнулились - дальнейшая диструктивная деятельность вашего изделия зависит от вас. от банальной неработоспособности прошивки устройства (ключи то стерты) до вызова ветки стирания содержимого флеша через подъем графитовых стержней (это теория - я не призываю к практике!) sm.gif

аналогом алгоритма служит сигнал CaseOpen на системной плате в компьютерном корпусе - открыли корпус, система отработала факт и сообщение ушло сисадмину, который придет и даст в бубен излишне любопытному пользователю..
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 1 2011, 08:22
Сообщение #8


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Jury093 @ Apr 1 2011, 10:52) *
дальнейшая диструктивная деятельность вашего изделия зависит от вас. от банальной неработоспособности прошивки устройства (ключи то стерты) до вызова ветки стирания содержимого флеша через подъем графитовых стержней (это теория - я не призываю к практике!)

Отцепил питание от устройства, и пусть STM32 попробует что-нибудь стереть у себя внутри.
Или держать "внутре" здоровенный аккумулятор?
Go to the top of the page
 
+Quote Post
Jury093
сообщение Apr 1 2011, 08:33
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(ViKo @ Apr 1 2011, 12:22) *
Отцепил питание от устройства, и пусть STM32 попробует что-нибудь стереть у себя внутри.
Или держать "внутре" здоровенный аккумулятор?

хм.. а доку почитать? о Vbat..
все для того же 105:
Код
They are implemented in the backup domain that remains powered on by VBAT when the
VDD power is switched off. They are not reset when the device wakes up from Standby
mode or by a system reset or power reset.


вы с какой стороны баррикад? sm.gif

ЗЫ а стереть флеш можно постфактум - либо при очередном включение питания и обнуленном регистре либо влепить типа ионистора (энергии на № секунд) и по факту вторжения тереть хоть один байт флеша, что равносильно непригодности к эксплуатации..
Go to the top of the page
 
+Quote Post
LightElf
сообщение Apr 1 2011, 08:36
Сообщение #10


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

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



QUOTE (ViKo @ Apr 1 2011, 12:22) *
Отцепил питание от устройства, и пусть STM32 попробует что-нибудь стереть у себя внутри.

Пробовать он ничего не будет - просто сотрет бакапные регистры, которые вместе с часами реального времени запитываются от часовой батарейки.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 1 2011, 09:12
Сообщение #11


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(LightElf @ Apr 1 2011, 11:36) *
Пробовать он ничего не будет - просто сотрет бакапные регистры, которые вместе с часами реального времени запитываются от часовой батарейки.

о том и речь.

Цитата(Jury093 @ Apr 1 2011, 11:33) *
а стереть флеш можно постфактум - либо при очередном включение питания и обнуленном регистре либо влепить типа ионистора (энергии на № секунд) и по факту вторжения тереть хоть один байт флеша, что равносильно непригодности к эксплуатации..

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

P.S. Пожалуй, есть способ. Записать зашифрованный код, который декодируется при наличии ключа. Дальше - выполняется (или не выполняется).
Go to the top of the page
 
+Quote Post
LightElf
сообщение Apr 4 2011, 15:54
Сообщение #12


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

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



QUOTE (ViKo @ Apr 1 2011, 13:12) *
Постфактум поздновато будет, не кажется? Уже прочитали флэш (если смогли, конечно).
Разве что констатировать факт, что устройство уже изучено вдоль и поперек.

Тампер не для защиты флеша придуман, для флеша есть отдельные средства.

QUOTE (ViKo @ Apr 1 2011, 13:12) *
Таким же образом можно по прерыванию на любой ножке программно стереть содержимое бэкап-регистров.

Для программного стирания содержимого бэкап регистров нужно питание процессора, а его может и не быть. Для стирания через ножку тампер - достаточно питания часов (мелкая батарейка или ионистор).
Go to the top of the page
 
+Quote Post
ATMExpert
сообщение May 27 2012, 17:54
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 20-11-09
Из: Ставрополь
Пользователь №: 53 756



Цитата(LightElf @ Apr 4 2011, 19:54) *
батарейка или ионистор).

А можно реально ионистор поставить? И как его запитать, через диодную развязку наверно?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 27 2012, 18:41
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (ATMExpert @ May 27 2012, 20:54) *
А можно реально ионистор поставить?
Можно, да, через развязку (это описано в документации).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 30 2017, 07:20
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Кто каким образом подключает вывод TAMPER?
Хочу поставить нормально разомкнутую кнопку, чтобы при закрытом состоянии корпуса контакты были замкнуты.
Таких кнопок большинство и это кажется более правильным. Еще и ограничение по высоте 5мм.
- После сборки по работоспособности сразу будет видно что в цепи кнопки нет никаких обрывов.
- Не будет ситуации что через пару лет бездействия контакты окислились и цепь не замкнулась при вскрытии.

Теперь получается что при закрытом корпусе на вход TAMPER все время будет втекать ток.
Мой контроллер STM32F446.
Втекающий ток вероятно будет равен этому I/O input leakage current и составляет 1 мкА.
Это слишком много, учитывая то что сам RTC будет потреблять не более 2 мкА.
Габариты не велики, хватило места только для CR1220.
Именитые производители заявляют для нее 40 мАч. Мне надо прожить от нее не менее 2 лет.
Для этого нужно потребление не выше 2.2 мкА.
Счет времени мне даже не нужен, достаточно хранить ключи и стирать их при вскрытии. Для семейства L4 заявлено потребление в таком режиме 8 нА.
Пока не понял умеет ли такое F4.

Еще было бы неплохо как-то сделать так чтобы батарейка начала работать только у клиента при первом включении.
Корпус водонепроницаемый, пленку под батарейку не затолкать. Вскрывать клиенту запрещено. Данные в backup регистры будет заливать он сам.
Геркон тоже не годится, не исключено наличие магнитных полей у клиента. Случайно может все стереться.
Go to the top of the page
 
+Quote Post
hsoft
сообщение Mar 30 2017, 07:31
Сообщение #16


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

Группа: Участник
Сообщений: 190
Регистрация: 13-02-17
Пользователь №: 95 415



Чтобы не бороться с втекающими токами тампер обычно заводят на два порта I|O.


Сообщение отредактировал hsoft - Mar 30 2017, 14:11
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 30 2017, 07:42
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
Чтобы не бороться с втекающими токами тампер обычно заводят на два порта I|O.
Порт A - 10K - тампер - 10К - порт B + 10К на землю.
Когда MCU спит на обоих портах "0" и никаких утечек.
Да у меня доступно два входа TAMPER. Но из вашей схемы я ничего не понял. Можете пояснить по другому, нарисовать схему?

Цитата
Когда MCU просыпается, он подает на один порт A "1", а на другом ловит эту самую "1".
Потребление только в момент подачи "1".
Ситуацию с просыпанием контроллера я вовсе не рассматриваю. Считаем что в момент вскрытия есть только питание на VBAT от часовой батарейки.

Цитата
Есть более продвинутая схема, когда используется три порта.
Порт A - 10К - тампер - 1К- портС - 10К - порт B.
На порт A = "1", на порт "B" = "0", а порт "С" вход.
И затем наоборот на порт A = "0", порт B = "1", порт С вход.
Если навесить емкости на линию тампера то можно перезаряжая емкости обнаружить
несоответствие, например перемычку поверх платы, а значит вскрытие.
Не годится. В моем корпуса только два TAMPER входа.

Цитата
Насчет работы у клиента, это неверный подход. Изделие потому и закрывается тампером, чтобы заблокировать доступ сразу за стенами завода.
А до отгрузки просто не закрывать и не устанавливать аккумуляторы.
Насчет неверного подхода это надо объяснять путину, шойгу и прочим. Вероятно вы не сталкивались с ситуациями когда ваше изделие может лежать не по одному году на складе. Это не ваш склад, а склад организаций которые закупили оборудование.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2017, 08:00
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(hsoft @ Mar 30 2017, 09:31) *
Чтобы не бороться с втекающими токами тампер обычно заводят на два порта I|O.
Порт A - 10K - тампер - 10К - порт B + 10К на землю.
Когда MCU спит на обоих портах "0" и никаких утечек. Когда MCU просыпается, он подает на один порт A "1", а на другом ловит эту самую "1".
Потребление только в момент подачи "1".

В таком режиме (с периодическими просыпаниями МК) батарейки не уложиться в среднее потребление в 2 мкА. Так как просыпаться МК надо будет довольно часто - не реже чем раз в 1-2 сек. Иначе злоумышленники запросто вскроют корпус и успеют замкнуть батарейку между просыпаниями, заблокировав стирание ключей.
Go to the top of the page
 
+Quote Post
hsoft
сообщение Mar 30 2017, 08:05
Сообщение #19


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

Группа: Участник
Сообщений: 190
Регистрация: 13-02-17
Пользователь №: 95 415



Прошу прощения, что запутал Вас, не посмотрел RM на STM32F446, все что выше предназначено для MCU у которых нет специализированных входов для тампера.
У Вас такие входы есть, так что смело можете советы пропустить.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2017, 08:07
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(uriy @ Mar 30 2017, 09:20) *
Счет времени мне даже не нужен, достаточно хранить ключи и стирать их при вскрытии. Для семейства L4 заявлено потребление в таком режиме 8 нА.

Не очень понятна задача: Вам нужно чтобы по сигналу "ВСКРЫТИЕ" МК проснулся и успел стереть ключи? Так?
А целостность корпуса как контролируете? Схема внутри залита компаундом или нет? Есть ли контроль нарушения целостности корпуса?
Как вариант действий злоумышленника: просверлить дырку в корпусе, замкнуть через неё батарейку (или кнопку тампера), а дальше - спокойно вскрывать и считывать.

Лучше не стирать ничего, а при производстве зашивать в составе прошивки случайное число (разное для каждого экземпляра и заранее неизвестное), и использовать это число как ключ шифрования - всю инфу в защищаемой памяти шифровать этим ключом. Ну и защитить флешь программ МК от чтения. Если в МК есть хороший генератор случайных чисел (а в STM32F4 вроде есть аппаратный генератор), то можно этот ключ генерить и самостоятельно в ПО МК при первом включении и сохранять во флешь.
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 30 2017, 08:17
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
Вам нужно чтобы по сигналу "ВСКРЫТИЕ" МК проснулся и успел стереть ключи? Так?
Не совсем так. Да по сигналу вскрытие ключи должны стереться. Для STM32 просыпаться не нужно. Они умееют стирать 80 байт backup регистров без просыпания при наличии только питания на VBAT.
Цитата
А целостность корпуса как контролируете?
Никак. И сейчас действительно нет никакой защиты если у нехорошего человека будет более одного изделия. Он уже будет знать как правильно вскрывать второй корпус. Какие средства защиты есть в таких случаях? Корпус у меня IP67.
Цитата
Схема внутри залита компаундом или нет?
Нет не планировали, но можно это сделать.
Ключи, которые, я планирую стирать предназначены для шифрования данных пользователя. Задачи защитить прошивку контроллера не стоит. Для нее достаточно запрета на чтение.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2017, 08:50
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(uriy @ Mar 30 2017, 10:17) *
Никак. И сейчас действительно нет никакой защиты если у нехорошего человека будет более одного изделия. Он уже будет знать как правильно вскрывать второй корпус. Какие средства защиты есть в таких случаях? Корпус у меня IP67.
Нет не планировали, но можно это сделать.

Тогда можно залить непрозрачным компаундом всё внутри, вместе с батарейкой. Но будет ремонтонепригодно.

Цитата(uriy @ Mar 30 2017, 10:17) *
Ключи, которые, я планирую стирать предназначены для шифрования данных пользователя. Задачи защитить прошивку контроллера не стоит. Для нее достаточно запрета на чтение.

А нужно чтобы именно пользователь мог ввести свои ключи? Или нужно просто любой ключ, уникальный для данного пользователя?
Защищать прошивку нужно не от её клонирования, а от считывания ключа. Его сгенерить внутри (или записать при производстве) и уже эти ключом шифровать или сами данные пользователя или его ключи.
Это будет самое надёжное решение. Так как в случае с тамперами, можно найти способ подключиться к схеме извне и замкнуть батарейку или запитать её извне чтобы не допустить стирания ключей. Потом залить своё ПО внутрь и считать ключи.
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 30 2017, 09:02
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
А нужно чтобы именно пользователь мог ввести свои ключи?
Да это необходимо.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 30 2017, 10:30
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Mar 30 2017, 11:50) *
Потом залить своё ПО внутрь и считать ключи.

Вряд ли получится т.к.
Цитата
The only way of resetting the
BKPSRAM is through the Flash interface by requesting a protection level change from 1 to
0.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2017, 11:36
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Mar 30 2017, 12:30) *
Вряд ли получится т.к.

Ну если так, то зачем тогда вообще сбрасывать по тамперу? Раз это внутренняя SRAM, то её никак не считать не подключившись и не залив туда чего-то.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 30 2017, 11:52
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Mar 30 2017, 14:36) *
Ну если так, то зачем тогда вообще сбрасывать по тамперу? Раз это внутренняя SRAM, то её никак не считать не подключившись и не залив туда чего-то.

Обычная SRAM не сохраняется без питания.
Батареечная память сохранятся от батарейки и не теряется при сбросе МК.
Тампер очень классная штука! Используем для детекции вскрытия.
Можно аппаратно настроить периферию на генерацию импульсов с заданной частотой и длительностью,
а также числа последовательных считываний для принятия решения. Все работает от батарейки, когда проц
не запитан от основного питания, и надежно ловит изменение состояния тампера.
При этом потребление от батарейки мизерное, т.к. тампер опрашивается импульсами.
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 30 2017, 12:34
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Предлагаю вернуться к сути моего вопроса.
Мне понятно что делает TAMPER, когда стирать ключи и когда их заливать мне понятно.

Мой вопрос был как вы подключаете этот вывод?
Доки от ST рекомендуют ставить такую кнопку, которая будет замыкаться при вскрытии корпуса.

Такие кнопки найти проблема, тем более что у меня ограничение по высоте 5мм.

Я хочу поставить кнопку которая будет замкнута при закрытом состоянии корпуса и будет размыкаться при вскрытии.
Одной стороной кнопка соединяется на VBAT другой стороной на вход TAMPER.
В таком режиме на вход будет втекать ток 1 мкА (Если я правильно понимаю даташит).
Кроме этого надо еще поставить внеший pull-down резистор на входе TAMPER, чтобы гарантировано садить вход на землю при размыкании кнопки.
Если ставить резистор на 10 МОм это еще 0.1 мкА потребления.

Может быть как-то можно полевиком и такой кнопкой сделать так чтобы TAMPER садился на землю при размыкании кнопки.
Все что не придумал требует резисторов и появляется статический ток.

И еще туманный пока вопрос. Умеет ли F4 хранить backup регистры без счета времени в RTC?
У L4 указано явно Ultra-low-power mode: 8 nA with backup registers without real-time clock (5 wakeup pins). 8нА это круто, но мне не хватает его частоты.
Для F4 вижу в даташите потребление при Backup SRAM OFF, RTC and LSE OFF составляет 50 нА. Но не понятно работают при этом backup регистры или нет.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2017, 13:51
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(uriy @ Mar 30 2017, 14:34) *
Может быть как-то можно полевиком и такой кнопкой сделать так чтобы TAMPER садился на землю при размыкании кнопки.
Все что не придумал требует резисторов и появляется статический ток.

Мы делали так (ну это правда не на STM, а на LPC1778 вроде):
Брали кнопку на три контакта (один - нормально замкнутый (НЗ), другой - нормально разомкнутый (НР), и 3-й - средний, который замыкается на НЗ или НР).
Средний контакт - на вход МК, а НЗ и НР - один на GND, другой на Vbat. Тогда никаких резисторов не нужно.
А с резисторами не проходило у нас по помехам - на объекте заказчика были такие помехи, что даже на резисторе 10кОм наводился импульс, достаточный для срабатывания тампера. И все схемы с резисторами - были постоянно ложные срабатывания. Вышеописанный же вариант работал железно. Но нужна кнопка о 3-х ногах конечно.
И токов тогда никаких лишних нет.

PS: А кстати наврал - помехи были настолько мощные, что даже при входе МК засаженном на Vbat через кнопку, наводился импульс, от которого срабатывал тампер (т.е. - для него даже внутреннее сопротивление батарейки было достаточно велико). Поэтому в закрытом состоянии у нас кнопка замыкала вход МК на GND (так помеха не пролазила), а в открытом состоянии - на Vbat (тут не так страшно, если будет вместо "постоянно открыто" показывать "открыто-закрыто-открыто-..." так как важен сам факт вскрытия и его время).
А насчёт счёта времени - у нас оно всегда считало, ибо без метки времени сам факт вскрытия мало что даёт.

PSS: Только мы так защищали не инфу. Инфу защищать лучше всего шифрованием как я уже говорил.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 30 2017, 15:11
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(uriy @ Mar 30 2017, 15:34) *
Я хочу поставить кнопку которая будет замкнута при закрытом состоянии корпуса и будет размыкаться при вскрытии.

Только так для датчика вскрытия и надо делать. Иначе провод перережут или потеряется контакт, и тревога будет пропущена.
Кнопку подключать между GND и аппаратным входом TAMPER. Никаких резисторов не надо.
На входе TAMPER МК будет сам формировать импульс тока с заданной длительностью и периодом, а по окончании импульса
смотреть уровень на TAMPER. Если последовательно N импульсов придет высоких, то установится флаг,
сработает прерывание или будут сброшены BKP-регистры.

Шпаргалка:
Код
    RTC->TAFCR = 0
        | (0 << RTC_TAFCR_TAMPPUDIS)
        | (3 << RTC_TAFCR_TAMPPRCH)        // 0.244 ms
        | (1 << RTC_TAFCR_TAMPFLT)        // 2 consecutive samples
        | (2 << RTC_TAFCR_TAMPFREQ)        // 4 Hz
        | (1 << RTC_TAFCR_TAMP1TRG)        // NC to ground
        | (1 << RTC_TAFCR_TAMP1E);
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 30 2017, 15:51
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
А насчёт счёта времени - у нас оно всегда считало, ибо без метки времени сам факт вскрытия мало что даёт.
Кому как. У меня требование уничтожить ключи шифрования. Раз мое устройство вскрыли значит его скорее всего украли и из него уже ничего не считаю.
Цитата
Кнопку подключать между GND и аппаратным входом TAMPER. Никаких резисторов не надо.
На входе TAMPER МК будет сам формировать импульс тока с заданной длительностью и периодом, а по окончании импульса
смотреть уровень на TAMPER. Если последовательно N импульсов придет высоких, то установится флаг,
Давайте об этом подробней.
В refman пишут:
The TAMPER inputs are pre-charged through the I/O internal pull-up resistance before its
state is sampled, unless disabled by setting TAMPPUDIS to 1,The duration of the precharge
is determined by the TAMPPRCH bits, allowing for larger capacitances on the tamper
inputs.

0 << RTC_TAFCR_TAMPPUDIS вы включаете pull-up резистор. Я правильно понял что для TAMPER входов это обычный pull-up как на всех пинах? 50 кОм кажется он.
Теперь мне казалось что pull-up всегда разрешен и ток потечет через эти 50 кОм и замкнутую кнопку на землю. Его величина будет огромной 60 мкА!
А вот до этого:
The trade-off between tamper detection latency and power consumption through the pull-up
can be optimized by using TAMPFREQ to determine the frequency of the sampling for level
detection.
я похоже уже не дочитывал.
И вот теперь посмотрев ваши регистры и еще раз прочитав описание битов, кажется да вот оно, то что надо!
adnega вы не меряли какой у вас ток потребляет при ваших параметрах? При ваших параметрах кажется латентность составляет полсекунды?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2017, 16:02
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Mar 30 2017, 17:11) *
Только так для датчика вскрытия и надо делать. Иначе провод перережут или потеряется контакт, и тревога будет пропущена.
Кнопку подключать между GND и аппаратным входом TAMPER. Никаких резисторов не надо.

Если возможно механическое проникновение, то это не спасёт. Если могут перерезать, то могут и замкнуть, просверлив корпус и замкнув ногу МК через эту дырку на GND.
Всё - делай с ним что хошь.

Цитата(uriy @ Mar 30 2017, 17:51) *
0 << RTC_TAFCR_TAMPPUDIS вы включаете pull-up резистор. Я правильно понял что для TAMPER входов это обычный pull-up как на всех пинах? 50 кОм кажется он.

Я ничего не включал. С чего Вы взяли??? У нас тампер был без подтяжки. Я же вроде подробно описал нашу схему. Подтяжка там не нужна.

И ещё раз главное: У Вас неверная постановка задачи!
Информация легко защищается шифрованием с ключом, закрытым в нечитаемой флешь. И никаких аппаратных сложностей (тамперов) не надо. Злоумышленник, если сможет считать эту SRAM, декодировать её не сможет.
А тампер мы у себя применяли не для защиты инфы, а для защиты от проникновения внутрь корпуса устройства и внесения изменений в схемотехнику устройства.
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 30 2017, 17:32
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Насчет pull-up это я писал для adnega. Ваш вариант, jcxz я понял, но вряд ли найдется такой концевик высотой до 5 мм.
Цитата
И ещё раз главное: У Вас неверная постановка задачи!
Возможно. Задачу ставлю не я, изделия не для меня. Я в тампере не вижу никакого смысла, потому что при наличии более двух изделий его легко обойти.

Цитата
А тампер мы у себя применяли не для защиты инфы, а для защиты от проникновения внутрь корпуса устройства и внесения изменений в схемотехнику устройства.
Как он может защитить от проникновения? У вас приводилось в действие взрывное устройство? И как он может защитить от внесения изменений в схемотехнику?
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 30 2017, 17:44
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(uriy @ Mar 30 2017, 18:51) *
adnega вы не меряли какой у вас ток потребляет при ваших параметрах? При ваших параметрах кажется латентность составляет полсекунды?

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

Тампер действительно опрашивается 4 раза в секунду, и только 2 последовательных считывания сгенерят тревогу,
т.е вскрытие короче 0.5 сек не детектируется, а дольше 0.5 сек приводят к срабатыванию.

Цитата
Если возможно механическое проникновение, то это не спасёт.

Разумеется.
В нашей модели угроз считалось, что мы не защищаем от механического проникновения.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 30 2017, 18:06
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(uriy @ Mar 30 2017, 19:32) *
Насчет pull-up это я писал для adnega. Ваш вариант, jcxz я понял, но вряд ли найдется такой концевик высотой до 5 мм.

Так вроде есть кнопки с двумя парами контактов - нормально-разомкнутыми и нормально-замкнутыми. Правда высоту я не мерял.

Цитата(uriy @ Mar 30 2017, 19:32) *
Как он может защитить от проникновения? У вас приводилось в действие взрывное устройство? И как он может защитить от внесения изменений в схемотехнику?

У нас защищает от простого вскрытия. Было вскрытие - значит считаем, что потенциально могли быть внесены изменения - записываем в журнал аларм.
От нарушения целостности корпуса - мы задачу не решили, были только идеи, но толком не придумали как это дёшево сделать wink.gif

Например была идея: залить внутри корпуса весь объём компаундом, добавить туда УЗ-передатчик/приёмник и при работе устройства периодически излучать некий сигнал, захватывать эхо (осциллограмму) и сравнивать с эталоном. Эталон записывается после производства. Т.е. - любые попытки изменить схему потребуют нарушения компаунда. Даже если это сделать в выключенном состоянии, потом залить все повреждения новым компаундом и потом включить устройство, то всё равно картинка эха изменится (геометрия компаунда поменяется, градиент плотностей изменится и т.п.).
Или другая идея: заполнить внутренний герметичный объём неким газом, поставить газоанализатор и также при работе сравнивать. Было нарушение корпуса - изменится состав газа.
Вот примерно так sm.gif
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 30 2017, 18:58
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Mar 30 2017, 21:06) *
Вот примерно так sm.gif

А вариант нанести уникальный узор на внутреннюю поверхность корпуса и анализировать изображение с дешевой камеры?
После закрытия корпуса в доверенном месте заставить камеру сделать эталонный снимок, а в процессе работы и при холодном старте
делать сверку с эталоном. Мне кажется, дешевле и технологичней газа, а по уровню защиты не хуже.
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 31 2017, 04:32
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Все это можно сделать если у вас достаточно энергии. У меня внешнее питание от USB, когда USB не подключено остается только часовая батарейка.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 31 2017, 04:43
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(uriy @ Mar 31 2017, 07:32) *
Все это можно сделать если у вас достаточно энергии. У меня внешнее питание от USB, когда USB не подключено остается только часовая батарейка.

Я так понял: нужно детектировать вскрытие, и этим занимается TAMPER с батарейкой.
В случае нарушения оболочки, TAMPER не спасает, но за счет камеры можно проверить оболочку на целостность.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 31 2017, 06:21
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Mar 30 2017, 20:58) *
После закрытия корпуса в доверенном месте заставить камеру сделать эталонный снимок, а в процессе работы и при холодном старте
делать сверку с эталоном. Мне кажется, дешевле и технологичней газа, а по уровню защиты не хуже.

Это если-бы у прибора была только одна поверхность, может быть да.
Но Вы не задумывались, что корпус прибора он как бы имеет 3 измерения и + внутри он заполнен самой конструкцией. Чтобы видеть все внутренние поверхности, потребуется десяток камер. Или камера, ползающая внутри корпуса biggrin.gif
Газ - имхо самый технологичный и дешёвый способ. Если корпус герметичен конечно. Десятки лет делают лампочки накаливания и другие приборы заполненные инертным газом и стоят они копейки. И анализаторы CO2, например, видел и на алиэкспрессе за недорого. Достаточно заполнить внутренность смесью газов с неким процентом содержания CO2 (причём можно сделать случайным для каждого экземпляра прибора) и контролировать этот процент.

Цитата(uriy @ Mar 31 2017, 06:32) *
Все это можно сделать если у вас достаточно энергии. У меня внешнее питание от USB, когда USB не подключено остается только часовая батарейка.

Вы не поняли: все те методы контроля, что я описывал - они делаются после подачи основного питания и включении CPU, чтобы обнаружить факт вскрытия (который мог быть во время выключенного состояния). Просто чтобы записать в журнал, что было несанкционированное проникновение в прибор и сообщить об этом куда следует, когда будет возможно.
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 31 2017, 07:49
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Mar 31 2017, 09:21) *
Это если-бы у прибора была только одна поверхность, может быть да.

В таком случае нанести узор на все грани. Использовать разные цвета (в том числе и светящиеся в УФ).
В объем скомкать алюминиевую ленту, а к камере добавить RGB+UV-подсветку.
Провода от TAMPERа проложить в гуще скомканной ленты - устанешь проникать.
С газом - зная принцип, можно легко вскрыть второй прибор.
Если вариант с лентой не нравиться, то можно предложить усатые крашенные презервативы
раздутые во весь объем с камерой внутри (правда, не уверен, что будут держать давление).
Go to the top of the page
 
+Quote Post
Obam
сообщение Mar 31 2017, 07:54
Сообщение #40


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(jcxz @ Mar 30 2017, 22:06) *
…залить внутри корпуса весь объём компаундом…

Причём таким, что б гарантировалось механическое повреждение компонентов на плате (отрывание выводов, разламывание керамических элементов, срывание с "шариков") при попытке вскрытия… sm.gif

Цитата(adnega @ Mar 31 2017, 11:49) *
В таком случае нанести узор на все грани. Использовать разные цвета (в том числе и светящиеся в УФ).

Если вариант с лентой не нравиться, то можно предложить усатые крашенные презервативы
раздутые во весь объем с камерой внутри (правда, не уверен, что будут держать давление).

В ПЭ: "изделие № 2 ТУ*****-**-**" (;

Сообщение отредактировал Obam - Mar 31 2017, 07:54


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 31 2017, 08:12
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(adnega @ Mar 31 2017, 09:49) *
С газом - зная принцип, можно легко вскрыть второй прибор.

Я же писал - можно в каждый прибор добавлять разное процентное соотношение газа (случайное), которое измеряется и запоминается в защищённой флешь при первом запуске, а потом сравнивается. Вскрытие и измерение одного прибора ничего не даст. Правда можно вскрыть данный прибор и заранее зная принцип - измерить заранее состав газа. Но это уже сложный процесс взлома sm.gif
И мне больше нравится вариант с УЗ-контролем.

Цитата(adnega @ Mar 31 2017, 09:49) *
Если вариант с лентой не нравиться, то можно предложить усатые крашенные презервативы
раздутые во весь объем с камерой внутри (правда, не уверен, что будут держать давление).

Подобный принцип используется, как я выше писал, при УЗ-контроле: залить весь контролируемый объём компаундом, вместе с УЗ-приёмником и излучателем. Излучать в этот объём некую посылку (несколько импульсов) и считывать эхо-отклик и сравнивать с эталонным. Любая попытка проникновения в контролируемый объём - будет засечена. Так как в залитом компаундом объёме будет много деталей со сложным взаимным расположением, УЗ-будет многократно от всего этого отражаться, эхо будет накладываться - будет сложное эхо. Любое небольшое смещение детали или изменение самой куска компаунда приведёт к изменению эхо-отклика. И для лучшего контроля можно несколько УЗ-приёмников поставить в разных точках.
Для анализа нужно меньше ресурсов чем для анализа фото. Правда вот нужна схема управления излучателем довольно сложная, с накачкой энергии и быстрое АЦП.

А вариант с лентами (или чем там) - плохой. Любая встряска прибора приведёт к их смещению и ложному срабатыванию.
Вот нанесение меток на внутреннюю поверхность корпуса и их контроль - это гораздо лучше. Мы тоже рассматривали такой вариант, но технологи сказали, что корпус будет дорог в изготовлении. sad.gif
Правда мы думали наносить дорожки из проводящего лака и контролировать сопротивление.

Ещё была идея - ёмкостной контроль внутреннего пространства - по принципу охранных систем с емкостными датчиками. Но у него низкая чувствительность, он может не обнаружить после включения изменений в схеме сделанных в выключенном состоянии.

Цитата(Obam @ Mar 31 2017, 09:54) *
Причём таким, что б гарантировалось механическое повреждение компонентов на плате (отрывание выводов, разламывание керамических элементов, срывание с "шариков") при попытке вскрытия… sm.gif

Ну это вряд-ли можно обеспечить. Ведь компаунд кроме того, что можно просто просверлить только в нужном месте, но можно его и просто растворить растворителем.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 15:46
Рейтинг@Mail.ru


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