Pull to refresh
20
0
Send message

Так это и не самый "продвинутый" вариант. Крипточип ATECC608 умеет ассиметричную криптографию

  • Protected storage for up to 16 Keys, certificates or data

  • ECDH: FIPS SP800-56A Elliptic Curve Diffie-Hellman

  • NIST standard P256 elliptic curve support

  • SHA-256 & HMAC hash including off-chip context save/restore

  • AES-128: encrypt/decrypt, galois field multiply for GCM

  • Turnkey PRF/HKDF calculation for TLS 1.2 & 1.3

  • Ephemeral key generation and key agreement in SRAM – Small message encryption with keys entirely protected

  • Full ECDSA code signature validation, optional stored digest/signature – optional communication key disablement prior to secure boot

  • Encryption/Authentication for messages to prevent on-board attacks

  • Internal high-quality FIPS 800-90 A/B/C Random Number Generator (RNG)

  • Two high-endurance monotonic counters

  • Guaranteed unique 72-bit serial number

В микроскоп не увидите. Это не "простой микроконтроллер". Верхние слои рандомизированы слоем активного шилда.

Крипто функции есть во многих микроконтроллерах, но не везде есть NIST RNG, защищенное храниение ключей, тамперы, Active shield across multiple layers, механизмы предотвращения атак по "сторонним" каналам, и пр. Ширпотребовские МК как правило не имеют механизмов предотвращения Microprobe, Timing, Emissions, nvalid command, Power cycling, clock glitches и др. атак. Если погуглить, то найдете сервисы по предоставлению прошивки из МК, но вскрыть чип, например из банковской карты, .. видимо стоит совсем других денег и дешевле осуществить "звонок из фин.мониторинга банка" или применить "терморектальный криптоанализ".

Да. Более того, МК в картридже вообще не нужен. Подобные крипто-элементы выпускаются в 3-х выводном корпусе (см. картинку в статье, 3 Lead Contact), он как бы не для монтажа на плату, а для интергации в корпус "расходника". Т.е. в этом случае команды передает МК из "принтера" и верифицирует расходник.

Для расходников еще можно установить счетчик, с каждым обращением счетчик уменьшается и при ==0 расходник блокируется. Например если расходник это картридж с лекарством на N доз. Исчерпали расходник - перезалить лекарство/чернила/etc. уже нельзя, ресурс картриджа/чипа исчерпан.

Между МК и крипто-чипом не передаются ключи, поэтому снифить там нечего.

ATSHA204A - в основном предназначена для аутентификации расходников, аксессуаров и т.п.

Типовой пример. Путь "принтер" (П) хочет распознать свой "картридж" (К).

В (П) и (К) стоят ATSHA204A с прописанным Secure Key.

По запросу МК в (П) генерируется случайное число (Challenge), отсылает его в (К).

в (К) на основе Challenge и SecureKey вычисляется Hash, который отсылается обратно в (П).

(П) в свою очередь так же вычисляет Hash и сравнивает с Hash из (К).

Микроконтроллер в (П) получает ответ - совпал Hash или нет.

В данном случае в протоколе нет передачи "чувствительной" информации. из Крипто чипа после Lock нет возможности считать ключи.

Вы можете взломать МК в конкретном "Принтере", и заставить (П) принимать любые (К). Но подделать (К), для того чтобы они подходили к любым (П) - это уже challenge ))

Для более сложных use cases есть ATECC506(608).

CRC в бутлоадерах применяется часто, в микрочиповских примерах — еще и как (один из) триггер на вход в обновление. Каждое включение проверяется CRC. Если CRC не сходится — значит прошивка повреждена (или «что-то пошло не так», или в описываемом случае — стерт один из блоков Flash) — в этом случае ждем прилета обновления приложения. CRC предлагают интегрировать в каждую обновленную прошивку.
не только. PICkit3 поддельный ))
именно что режим совместимости — база берется от Pickit2, хоть используется PICkit3. Добавлять туда МК можно, но только если используются те же самые или схожие скрипты / алгоритм программирования. Проще тогда свой программатор написать, но это не отменяет того, что в более новых семействах подобный трюк не пройдет из-за отличий в логике CP бита.
p.s. ну и зная о такой уязвимости можно легко «починить» код от вычитывания. Например, в Boot считать CRC прошивки, при не совпадении — Reset. Тогда потенциально можно вычитать код, но только без Boot части.
Видимо не все ограничения озвучены.
В примере конфига разрешена запись в Boot блок и в сектора (WRTB, WRT0-WRT1). Скорее всего описанный метод не сработает если эти бит(ы) будут в 0.
PicKit2 снят с поддержки лет 10 назад. Соответственно эта возможность «распространяется» на старые контроллеры. О новых он просто ничего не знает.
В новых контроллерах и структура защиты другая, только один общий бит CP, соответственно можно стереть только всё.
Альтернативный вариант.
Подключение TFT, плат расширения (Click boards, Mikroelektronika)
в РФ есть подобная плата. Там же на странице примеры «Быстрый старт», работа с USB, web-сервер
Для SmarfFusion2, Iglo2 бесплатная лицензия на 10К и 25К LUT. от 50К — лицензия платная
Суть решений на CIP — синтез аппаратного ШИМ-контроллера с аналоговой ОС. ШИМ — «аналоговый», цифрой (таймером) задается только период. Скважность определяется по компаратору, т.е. обратной связью. Прерывания не нужны, ШИМ обновлять/рассчитывать кодом не нужно.
Кстати, на новых ATtiny817 таймер TCD то же сделан с прицелом на подобные задачи — есть бланкирование, есть сброс по внешним сигналам.
(для полностью цифровых решений есть dsPIC — см. комментарий выше)
Да, положительный опыт есть.
Рекомендую не раскапывать внутреннюю схему F1779, а нарисовать то что Вам нужно, какой фронт/уровень к чему должен приводить, а далее через MCC настроить нужную периферию. Думаю вся необходимая Вам периферия в нем присутствует.
Спасибо. Опыт есть в прототипировании и помощи в конфигурации периферии PIC (т.е. ШИМ контроллера) под задачи партнеров. Сам не большой спец по «аналоговой/силовой» части. Т.е. мои задачи были примерно такие, что под желаемую диаграмму сигналов (т.е. кто на что влияет, запускает, выключает) «нарисовать» ШИМ контроллер и сделать реализацию на CIP (с объяснениями что, зачем, почему). Далее уже другие люди «прикручивали» силовую часть и воплощали свои идеи.
По поводу UCD3138. Это уже полностью цифровое решение, аналоговая ОС заменяется на быстрое ядро с вычислениями и DSP. У многих есть. У микрочип это dsPIC33 серии GS — быстрые АЦП, компараторы, ОУ, DSP ядро, 70MIPS, ШИМ c разрешением 1нс.
www.microchip.com/ParamChartSearch/chart.aspx?branchID=8182
www.microchip.com/design-centers/intelligent-power/digital-power-design
COG это не только dead-time и комплементарные сигналы. COG это еще бланкирование (будет рассмотрен пример в 3-й части), это несколько режимов выхода (в т.ч. push-pull), это различные источники Set и Reset (у показанной NCP один вход PWM), это shutdown c ручным или автоматическим разрешением на продолжение работы, это заданное(запрограммированное) состояние выходов при детектировании аварии.
Т.е. подобный 2-х канальный MOSFET-драйвер может быть полезен, но COG позволяет делать гораздо больше вариантов ШИМ контроллера.
Вообще это несколько разные функции, COG это «сердце ШИМ контроллера», а драйвер это выход ШИМ контроллера.
это нарисованы драйвера MOSFET. NCP это двухканальный драйвер MOSFET, ШИМ контроллер не заменит
Есть
The COG module has the following features:
• Six modes of operation:
— Steered PWM mode
— Synchronous Steered PWM mode
— Forward Full-Bridge mode
— Reverse Full-Bridge mode
Half-Bridge mode
— Push-Pull mode
ОК, к вопросу о тактовой частоты вопросов нет ;-) 100++МГц это уже мк класса СМ3, СМ4 (сравним с реализацией на 8-и битнике с достаточной тактовой единиц МГц или ниже и корпусами 8-14-20pin).

Далее.
Конечно период регулирования зависит от нагрузки и изменений входного напряжения. Далее идем в начало, см. часть 1
Voltage Mode (VM) гистерезисный. Тут вообще частоту ШИМ и скважность не нужно менять. Да и МК не нужен — достаточно мультивибратора и компаратора. Но и точность регулирования самая плохая.
VM пропорциональный. Тут сложнее — на параметры контура регулирования оказывает влияние изменение входного напряжения.
Current Mode (CM) — имеет 2 контура. Внутренний (быстрый) осуществляет регулировку на каждом периоде ШИМ. Этот метод поддерживает заряд индуктивности одинаковой энергией (если не брать во внимание второй контур). За счет этого нет влияния изменения входного напряжения на параметры петли ОС.
как-то так.
так вы посмотрите на схемы (см. часть 1). Есть таймер, который задает период (Set триггера). Сбросом (Reset) триггера управляет компаратор (аналоговая вещь), т.е. завязки на тактовую частоту вообще нет. Да хоть ставьте тактовую 100кГц — обратная связь аналоговая и асинхронная от Ядра микроконтроллера (тема номера: ПНЯ — периферия независимая от Ядра).

Information

Rating
Does not participate
Registered
Activity