Univelis / Foxspeed
906 subscribers
1.09K photos
30 videos
19 files
367 links
Новости электроники и что из ноосферы прилетело. callback: @catethysis
Download Telegram
Вы могли пропустить (я вот пропустил), что формат 65х30 незаметно стал новым стандартом одноплатников.
Все видели RPi Zero, он давно существует, но другие вендоры наконец распробовали этот формфактор, и наклепали уже штук 10 плат на других процах. Теперь и сама RPi Foundation так же продолжила их МК RP3250.

Плюсы формата:
1. расположить одной линией флеш-оперативку-процессор-радио просто напрашивалось, а два Type-C USB и опционально HDMI или MIPI — как бонус сбоку.
2. это ~втрое компактнее прошлого стандарта RPi (86*54? 85*56? вот какой-то из них, ага), а мы же за ползучую миниатюризацию.
3. наконец-то понятное разделение сторон: одна сторона с Type-C наружу, другая с гребёнкой внутрь. В RPi мне не нравилось, что девайс нужно строить вокруг одноплатника, ты полностью зависишь от его размеров и разъёмов; теперь ограничений нет.

Ну а главное — это как 2 батарейки 18650 с 6 мм зазором! В него кнопки, антенну, датчики, зарядник/балансир лития, что угодно!
Можно сделать батарейный комп с датчиками, или беспроводную камеру с распознаванием лиц.
Или сложить 2*18650 и в той же плоскости рядом комп с платой RTL-SDR над ним, антенной сбоку и солнечной батареей 70*70.

Да, разъёмов мало, полноразмерных USB и тем более Ethernet там (почти) не бывает. Но к половине этих плат есть платы расширения с USB, Ethernet, питанием и даже RS-485.
Это не минус: плата компьютера очень тонкая, а всё высокое теперь живёт на отдельном модуле.
Такая этажерка имеет всё то, что и "большой" одноплатник, а места занимает гораздо меньше + теперь можно отказаться от кучи разъёмов/места, если не нужны; или сделать свою плату.

На картинке вот это:
Sakura Pi RK3308B ... Banana Pi M2 Zero
XPI-3566-ZERO ... Radxa Zero 2 Pro
Radxa Cubie A7Z ... Radxa ROCK Pi S0
Orange Pi Zero 2W ... Raspberry Pi Zero W
Два компа тут с моим любимым Rockchip RK3308, а ещё один с мощным RK3566. Себе я купил Orange Pi Z 2W и доволен: процы тут такие же, как в больших одноплатниках, просто КПД выше :)
🔥178👍6
Недавно обсудили в нашей компании, что оценивать защищённость разработок лучше не какими-то общепринятыми критериями или метриками, а просто деньгами.
В мире есть некоторые метрики защищённости железа/софта:
- CVSS (0–10 баллов потенциального урона от софта)
- Common Criteria, уровни EAL1–EAL7 с расчётом attack potential
- криптомодульные FIPS 140-3 с уровнями 1–4 от "клянусь, оно работает" до "дрель, морозилка и тепловизор не помогут".

Но всё это не особо мапится в язык бизнеса: даже если руководство хорошо шарит в инфобезе, всё равно нужен перевод. А вот деньги — отлично.

"Этот продукт на 1 млн ₽ взлома" — сразу в топку: хватит интересующегося студента с осциллографом и неделей времени.
"На 10 млн" — уже интересно, можно пообщаться, понять профиль атакующего и посмотреть, что доточить
"На 100 млн" — сразу зелёный свет: такой бюджет есть только у весьма специфичных игроков, да и то, если ROI реально виден.
Подход не новый, но я нечасто вижу его применение, и он отлично ложится на бизнес-слой.

Формально, мы оцениваем не уровень магии защиты, а минимальный бюджет осмысленного атакующего на получение промышленно пригодного эксплойта. Здесь:
- человеко-часы реверсера/лаборатории нужного класса;
- железо: микроскопы, ионный пучок, лазеры для fault-инъекций, xGSPS осциллографы, EM-щупы и т.д. (+амортизация);
- число итераций: сколько раз нужно пересобрать плату, чтобы довести атаку до состояния PoC;
- операционные риски: доступ к образцам, логистика, бумажки.

Изначально, мы просто идём к дружественной лаборатории реверсеров и просим их оценить цену, ну или хотя бы наш штатный реверсер оценивает из своего опыта. Но можно и формализовать: взять из Common Criteria их "attack potential" и перевести из баллов в рубли: сумма времени, экспертизы, возможностей и оборудования. У нас почти то же самое, только сразу в единицах, удобных для владельца продукта и CFO.
А главное, эта метрика отлично ложится на стоимость защищаемой системы, тираж выпуска и принимаемые риски: банально, 10к₽ контроллер партией 5к штук — хватит и "1 млн" защиты, любая более крутая защита будет явным перебором, просто не отобьёт экономику. А если... ну вы поняли.

Любой реверсер спросит: а что вы понимаете под стоимостью? Поиск уязвимости / первый успешный взлом / identification, или тиражное использование / exploitation? Одинаково важны обе фазы: дорогой взлом вполне может стоить того, если тиражирование будет условно-бесплатным и принесёт достаточный профит; и наоборот, детская уязвимость, но дорогие/недоступные носители для тиражирования ставят вопросы к ROI атаки. Хотя обычно даже единичный факт взлома уже роняет репутацию девайса, и уже не настолько важно, что тиражирование дорогое. Плюс, это может быть взлом не просто "системы в целом", а конкретного юзера этой системы, и это переходит в критерий принимаемых (или нет) рисков.

Метрика по стоимости железа тоже вопросительна: лаборатория не строится под один взлом, амортизация на потоке будет околонулевой, тогда взлом именно нашего девайса станет в разы дешевле. Эта штука в научных кругах называется low-cost attacs, особенно любят бесплатно ломать якобы "тампероустойчивые" устройства. (мораль: тампер это лишь щеколда на входе). Да и помните: суперустойчивый Knox в телефоне или ультразащищённый чип, требующий послойного шлифования кремния — скорее всего стократ дешевле обходятся на другом этапе, хотя бы даже на supply chain :)
Оценивать ROI тоже нужно обдуманно: чуваку может быть интереснее не эксплуатировать уязвимость, а просто продать её; а внутренняя оценка цены всегда будет ошибочной в разы.

Без этих оговорок цифра "стоимость защиты" быстро превратится в самообман. Желательно ещё обновлять её по итогам реальных незапланированных доступов :)
🔥11👍9💯3
Наконец мои лапы дошли до этого крипточипа, а тут и задачка с хардверной эллиптической криптографией возникла на работе.

Суть: мелкий 8-ножка берёт на себя всю криптографию, причём правильно: охраняя закрытый ключ, давая честный рандом и т.д. Вынося всё чувствительное в него, вы автоматом получаете достаточную безопасность, подтверждённую опытом и сертами.

Оч заманчиво иметь SO8 чип, который умеет:
- генерить пары ключей (закрытый/открытый) для эллиптики
- юзать закрытый ключ внутри, никогда не отдавая его наружу
- генерить общий сессионный ключ по Диффи-Хеллману / ECDH
- считать хэши, подписывать и проверять подпись сообщений
- шифровать/расшифровывать сообщения по AES-128
- хранить данные в EEPROM, в т.ч. в OTP зонах
- ещё и имеет криптобезопасный генератор случайных чисел!

Зачем вообще всё это нужно: имеем два девайса, соединённых незащищённым каналом. CAN, RS485, Ethernet, что угодно, во что злоумышленник может влезть, прослушать и отправить свои посылки; пусть это контроллер двери и замок. Чувак подслушает команду "открытие двери", и потом отправит сам снова (replay атака). Как не дать это сделать? Не дать подслушать и отправить.

Чтобы не принять левую команду, добавим растущий номер или время, и вычислим хеш посылки с неким секретным ключом, это будет подписью. Не зная ключа, не сделаешь верную подпись.
Важно: подписываем закрытым/приватным ключом, проверяем подпись открытым/публичным. На старте, в режиме "знакомства" девайсов, каждый девайс сообщает всем свой публичный ключ, все его записывают.
Теперь, когда девайс А генерирует своё сообщение, он подписывает его своим приватным ключом, и любой другой девайс, приняв это сообщение, может проверить его подпись, используя уже известный публичный ключ девайса А.
Скорее всего, те кто менял блоки в машинах или айфонах, на этом моменте встрепенулись. Да, "прописать блок" это и есть "раздать его публичный ключ".
Против подслушивания можно зашифровать посылку полностью, но обычно хватает только подписи.

Про безопасность: Ledger вскрыли прошлые версии, ATECC508A на SSTIC 2020 лазером, и ATECC608A на BlackHat 2021 2 лазерами. 608A на сайте Microchip уже Not recommended for new designs, и есть B и C ревизии. У 608C есть варианты с JIL HIGH.
По методике из прошлого поста, уровень защиты "10 млн ₽" на старт и "10 тыс ₽" на повтор. Студент не вскроет :)
Для чипа, доступного на али за 300 ₽ это очень достойно.

Полный даташит недоступен, Microchip просит подписать NDA (вот бы чип умел подписывать кроме сообщений ещё и NDA!); но ковырянием в даташитах на прошлые версии и коде доступных библиотек, удалось навайбкодить всё, что нужно.
Команды в следующем посте:
14👍7😱2🔥1
Команды для работы с ATECC608 из предыдущего поста:
1. Инициализация

Чип по умолчанию спит и даже может быть не виден командой i2cdetect. Пробуждение — запись 0x00 в устройство с адресом 0x00. Да, не по адресу чипа, а по адресу General call шины.
w1@0x00: 0x00
Через i2ctools это можно сделать с ключом -a из-под su:
sudo i2cset -y -a 2 0x00 0x00
Команда вернёт ошибку, но не переживайте, это нормально.
Спустя 2 мс можно прочитать wake-статус:
r4@0x60: 04 11 33 43
04 длина, 11 успешный wake, и 2 байта CRC.

Дальше все запросы начинаются с 03, это функция передачи команды (ещё есть 00/Reset, 01/Sleep, 02/Idle)

2. Чтение ревизии
w8@0x60: 03 07 30 00 00 00 03 5D
03 функция "команда", 07 длина, 30 команда Info, param1/00 — ревизия, param2/0000 — без параметров, и CRC. Ответ:
r7@0x60: 07 00 00 60 02 80 38
07 длина, 00006002 ревизия, 2 байта CRC.
.60.02 соответствует чипу ATECC608A, .60.03 — ATECC608B.

3. Случайное число
w8@0x60: 03 07 1B 00 00 00 24 CD
03 функция "команда", 07 длина, 1B команда Random, param1/00 и param2/0000 — без параметров, и CRC. Ответ:
r35@0x60: 23 FE A4 73 B9 4F D7 6F EA FB 5A 90 89 D0 1D 98 9E 8C 4C 49 84 BF 60 30 C7 FF BD 44 73 1A 52 D6 15 99 66
23 длина, FE A4 ... D6 15 случайное число (32 байта), 2 байта CRC.
Но пока конфиг чипа не залочен, эта команда всегда будет отдавать FF FF 00 00 FF FF 00 00... — это не издёвка, а маркер того, что чип открыт. Почему-то про это редко пишут, имейте в виду.

4. Публичный ключ из слота 0
w8@0x60: 03 07 40 00 00 00 00 05
03 функция "команда", 07 длина, 40 GenKey, param1/00 и param2/0000 — без параметров, и CRC. Ответ:
r67@0x60: 43 D2 DE .. 8B B3 29 A1
43 длина, D2 DE ... 8B B3 публичный ключ (64 байта), 2 байта CRC.
На самом деле, публичный ключ это лишь координата точки на эллиптической кривой: первые 32 байта X, вторые 32 байта Y.

5.1. Подготовка к подписыванию / загрузка Nonce в TempKey
w40@0x60: 03 27 16 03 00 00 h0 h1 ... h31 CRC_L CRC_H
03 функция "команда", 27 длина, 16 Nonce, param1/03 — режим Fixed, param2/0000 h0..h31 — 32 байта данных, и CRC. Ответ:
r4@0x60: 04 00 03 40
04 длина, 00 успешный приём, и 2 байта CRC.

5.2. Подписывание TempKey ключом из Slot0
w8@0x60: 03 07 41 80 00 00 28 05
03 функция "команда", 07 длина, 41 команда Sign, param1/80 — режим [External, TempKey], param2/0000 и CRC. Ответ:
r67@0x60: 43 C7 D2 .. BF 76 52 A2
43 длина, C7 D2 ... BF 76 подпись (64 байта), 2 байта CRC.
Подпись это на самом деле два числа по 32 байта, R||S.

Самое крутое то, что я попробовал проверить эту подпись тем же публичным ключом на компе в node.js — и проверка прошла! Мы успешно связали два криптоконтейнера, и всё работает :3

6. Блокировка конфигурации
У чипа есть три разных вида блокировки, для получения случайных чисел достаточно залочить конфигурацию.
w8@0x60: 03 07 17 80 00 00 39 8D
03 функция "команда", 07 длина, 17 команда Lock, param1/80 — режим [Lock Config, Ignore CRC], param2/0000 и CRC. Ответ:
r4@0x60: 04 00 03 40
04 длина, 00 успешный лок, и 2 байта CRC.

Расчёт CRC
16 бит LSB-first, полином 8005, input reflected, output not, init 0000, final xor 0000. CRC_L = младший байт, CRC_H = старший.

Да, в качестве сообщения я везде использую число длиной 32 байта, а как подписать пакет другой длины или текст? Конечно, захешировать. В чипе и SHA-256 есть для этого.

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

Рекомендую разобраться: вы можете за 350 рублей добавить к вашему устройству надёжное шифрование, не закапываясь в это с головой. Не зря же Брюс Шнайер, отец криптографии, запрещает реализовывать криптоалгоритмы самому :)
12👍6🔥4🤔1
Мне всегда чесали мозг двойные учёные. Вместе с комментаторами вспомнили много; накидайте в комменты ещё свои варианты :D

Диаграмма Гершпрунга-Расселла
Эффект Прандтля-Глоерта
Параметры Тиля-Смолла
Схема Улама-Теллера
Алгоритм Диффи-Хеллмана
Эффект Даннинга-Крюгера
Феномен Баадера-Майнхоф
Эффект Барнума-Форера
Конденсат Бозе-Эйнштейна
Метод Рунге-Кутты
Неустойчивость Релея-Тейлора
Уравнения Навье-Стокса
Распределение Максвелла-Больцмана
Задача Штурма-Лиувилля
Закон Бойля-Мариотта
Закон Гей-Люссака
Фильтр Саллена-Ки
Уравнение Навье-Стокса
Мария Склодовская-Кюри
Закон Менделеева-Клапейрона
Правило Тициуса-Боде
Вектор Умова-Пойнтинга
Алгоритм Кули-Тьюки
Мост Эйнштейна-Розена
Неравенство Коши-Буняковского
Закон Майкельсона-Шварца :)
Код Рида-Соломона
Пространство Калаби-Яу
Алгоритм Ахо-Корасик
Теорема Остроградского-Гаусса
Диаграмма Эйлера-Венна
Мост Вина-Робинсона
Неравенство Коши-Адамара
Алгоритм Герчберга-Саксона
Теорема Пэли-Винера
Излучение Вавилова-Черенкова
Закон Джоуля-Ленца
Теорема Найквиста-Шеннона-Котельникова
Код Боуза-Чоудхури-Хоквингема
Парадокс Эйнштейна-Подольского-Розена
Закон Бугера-Ламберта-Бера
Алгоритм Кнута-Морриса-Пратта
Метод Бранауэра-Эммета-Теллера
Закон Био-Савара-Лапласа
Теория Дерягина-Ландау-Фервея-Овербека
10😁3
Forwarded from e/acc
Шифропанки проиграли

Я начал вести этот канал с серии постов об истории Cypherpunks — более чем 40-летнего движения, которое привело к появлению ключевых технологий, позволяющих построенние децентрализованных систем и институтов, таких как PGP и PKI (способ гарантировано приватного общения), Digicash (первые электронные деньги), TOR и Bittorent и, наконец, Биткоина, Эфира и идеи ДАО.

Почему это важно? Математика — неостановимый инструмент. Мы научились создавать нецензурируемые деньги и каналы связи. Но победив в создании инструментов, мы споткнулись о реальность их внедрения. Распространение технологий зависит не от криптографической стойкости, а от старой скучной политики и человеческой психологии, где важнее привычки, чем алгоритмы.

Четыре года я делал проекты в области SSI — системы цифровой identity для образования, медицины и идентификации в интернете. Технически мы всё сделали верно. Коммерчески проекты были успешны. Но идеологически мы провалились: вижен «суверенной личности» остался утопией. Люди не стали владеть своими данными, они просто получили еще один логин-пароль, за которым стоял новый посредник.

Парадокс: технологии шифропанков победили везде, но их идеология нигде не прижилась. Триллионы долларов в крипте, HTTPS на каждом сайте, сквозное шифрование в мессенджерах. Но криптографический слой оказался захвачен той самой бюрократической машиной (Левиафаном), против которой создавался. Пользователи сами, добровольно, отдают ключи от своей крипты Бинансу, а свои переписки — серверам Gmail и iMessage.

Причина проста: мы проигнорировали «когнитивный налог». Шифропанки требовали от человека ответственности: хранить ключи, понимать риски, настраивать ноды. Но обычный человек не хочет разбираться в эллиптических кривых ради покупки чашки кофе. Он выбирает Google не потому, что любит корпорации, а потому что восстановить пароль там можно за две минуты. Удобство — наркотик, а централизация — его главный дилер. Если приватный инференс стоит $50k, он проиграет подписке за $20, даже если эта подписка читает и использует ваши данные.

Но война не окончена. Сейчас код перестает быть просто софтом и становится институциональным дизайном. Следующее поколение систем (ИИ-агенты, абстракция аккаунтов и чейнов в крипте, intent economy) скроет сложность от пользователя. И главное его преимущество остается

Будущее не за тем, чтобы заставить всех стать гиками. Будущее за системами, которые являются само-оптимизирующимися кибернетическими организмами, где «правильный» выбор является одновременно и самым простым. Лозунг «Cypherpunks write code» не просто про код, а про дизайн механизмов (стимулов) и интерфейсы, которые делают свободу фичей системы. Мы неизбежно придем к автономным институтам не потому, что люди станут сознательнее, а потому что старые институты коллапсируют под весом собственной неэффективности. Почему — в следующей части.
🔥8😢5💯1
Все вокруг меня стали ставить ноды мештастика — сегодня уже четв шестой человек за 2 месяца. Я чего-то не знаю и там раздают деньги, или это попытка убежать от цензуры? Ну тогда лол.
🤣127👻6👍4🌚2
В новом году в мире ожидается мясо, посмотрим чо будет.
Доросли до 800 подписчиков вашими стараниями; а в новом году будет продолжение проекта #DOLGO (GNSS-генератор) и продолжение исследований Лаборатории резонанса.
Спасибо, что следите и ждёте постов, вы няшечки :3
Сил, наличия чипов и наличия желания делать штуки дальше.
22🥰10👍8
НОВОГОДНЯЯ МИКРОСХЕМА (буквально)
Начну год с лёгкого поста, пока все ещё под салатиками.

Замечали, что практически все гирлянды нужно прощёлкать 7 раз, чтобы дойти до единственно удобного режима "не мигает"?
А замечали мерцание гирлянд на 100 Гц, будто разработчикам было лень сделать ШИМ на 1 кГц? Меня это давно расстраивает: как можно такой стробоскоп пускать в продажу!

Всё это потому, что все они сделаны на одной микросхеме. Конечно, для такого массового товара китайцы не могли не разработать специальную микру, точнее две:
- MOSDESIGN M80056B / M80056B-1 / M80002-4
- Unisonic UTC8156
Различаются числом ветвей (4/8) и управлением (кнопка или 8-позиционный переключатель), в остальном идентичны.

*Тут был ошибочный текст про задание частоты* В микросхеме есть понижатель напряжения на стабилитроне, поэтому снаружи лишь диодный мост (а скорее, один диод), резистор, и тиристоры для гирлянд. Коммутация только пропуском целых периодов, поэтому это и не ШИМ даже, а просто вкл/выкл на частоте 50 Гц.

Конечно, никто не пытается следить за фазой синуса в сети (как в сложных симисторных регуляторах), вся регулировка яркости это лишь пропускание целых полупериодов сети — поэтому они мерцают, и особенно это заметно на малой яркости в начале / конце режима "slo-glo" (медленное разгорание/потухание).

А теперь вместо лампочек в гирляндах светодиоды: да, на цепи из нескольких десятков белых светодиодов с ограничивающим резистором погасится как раз напряжение сети, но у них нет инерционности ламп, поэтому все колебания яркости прекрасно видны, особенно боковым зрением.
Сейчас сильно популярнее гирлянды с питанием от USB; как мне удалось выяснить, там уже полноценный микроконтроллер типа того 4-центового Padauk, уже с 32'768 Гц кварцем и гораздо более приятным ШИМ без мерцаний.

Самое милое, что эти чипы прямо в даташите называются Рождественскими Микросхемами, такая прелесть :3
У кого такая гирлянда — скидывайте в комменты фотки своих контроллеров, соберём коллекцию.

TL;DR: Чипы новогодних гирлянд — это легаси из времён ламп накаливания и тиристоров. Модуляция яркости пропуском периодов отлично работала с тепловой инерцией ламп; теперь перешли на светодиоды без инерции, а чипов на складах миллионы штук на годы вперёд — вот и видим злое мерцание.
Ну а тонкие провода это и экономия, и предохранитель при КЗ.
15👍12🔥6🍾2
НОВОГОДНИЕ ИТОГИ
Наверное, надо запостить такие картинки, раз все постят.
Ну да, техно-сарказм, ваш любимый токсик опять кричит на ИИ и на то, как всё вокруг сделано неправильно.
А я в рамках своего 2025 Wrapped отмечу посты про:
- 25 Гбит/с домашнюю сеть
- Самодельную камеру Вильсона
- Запись своей фотки в RFID-визитку
- Супер-телескоп Веры Рубин
- Силовые MEMS-выключатели
- Матрицу со встроенной видеообработкой
- Тактильный энкодер типа SmartKnob
- Выступление на Underconf 2
- Работу с Secure Enclave чипом ATECC608
А чем интересным поделитесь вы? Расскажите! (да, это наглый Call-to-Action).

Забавно, мама напомнила первые мои моменты знакомства с электричеством: во втором классе собрал схему с лампой и выключателем, но почему-то замкнул сеть. Конечно, при включении выбило автоматы, зато было весело.
Ну а потом, в 5 классе, в школе устроили чаепитие и воткнули ~5 чайников в удлинители, вставленные друг в друга цепочкой. Ожидаемо, изоляция потекла. Расскажите и про свои случаи!

А насчёт той кошьки — она сидит в частной коллекции кошек в доме за городом, нам периодически присылают видосики, ей там вроде нормально. Всё равно хочется найти ей человека.
9👏7
ВСКРЫТЬ BLUETOOTH ESP32
На днях прошёл 39-й Chaos Communication Congress, и подарил много тем для освещения. Выложу пару из них под тегом #39с3.

ESP32 крут, но его радио насквозь проприетарно, и когда вы уже наигрались с чипом так, как того хотел производитель — хочется поиграться более грязно: например, почему бы не вскрыть эти назойливые чёрные радиоящики? Антонио Васкес Бланко (Antón) показал, как приоткрыть эту завесу тайны.

Вообще, почему всё так плохо? Все радиоинтерфейсы зарегулированы; следовать спекам просят везде, но тут особая ситуация: среда доступа разделяемая (общий радиоэфир), и любое отклонение от спек портит жизнь сразу всем. Поэтому есть радиочасть (прошитая бинарными блобами) и интерфейс доступа, куда HCI-командами можно послать лишь что-то разрешённое.
Хотя давно всплывала инфа, что у ESP32 есть и незадокументированные регистры, и нестандартные команды, на которые таки приходит ответ. Espressif отвечали, что это отладочные команды для производства, но... ну вы поняли.

Антонио докопался до деталей реализации BT-периферии, восстановил полную карту памяти/регистров/прерываний и собрал воедино все те штуки, которые и делают этот модуль полностью прозрачным.
По итогам реверса он смог:
- принимать и передавать низкоуровневые данные (не только высокоуровневые абстракции)
- инжектить произвольные пакеты (а значит, открыл дверь для Bluetooth-фаззинга!)
- выложить полную инфу с описанием регистров и структур.

К сожалению, так и не вышло полностью перевести модуль в promiscious режим, в основном из-за хардверной генерации Sequence ID. Но даже так это уже существенный прорыв.
Теперь ESP32 становится платформой для глубокого исследования Bluetooth — от поиска закладок в беспроводных наушниках до аудита сетевого поведения и сниффинга всего обмена, от фуззинга и тестов на устойчивость до разборов странного поведения устройств.

сслк: media.ccc.de/v/39c3-liberating-bluetooth-on-the-esp32
репо: github.com/TarlogicSecurity/ESP32-Bluetooth-Reversing
🔥228🌚6😨1
СДЕЛАТЬ АЛЮМИНИЙ КАК У APPLE
Все видели этот фирменный сатиновый эппловский алюминий в макбуках: матовый, почти не бликующий, выглядящий "дорого". Если хотите повторить такой в своём девайсе — я реверснул их технологию и готов поделиться с вами. Забавно, что сначала я дошёл до сути сам, потом почитал патенты Apple, почти совпало.
Суть: шлифовка+аквабласт+анодирование+герметизация.

0. Из Al 6061 делаем нужную деталь: фрезеровка, резание, ...
1. Шлифуем её. Apple говорит про полировку, но доводить до зеркала точно не нужно, потратит силы, а пользы не принесёт.

2. Создадим микрорельеф поверхности: похоже на пескоструй, но песок поцарапает деталь; похоже на сатинирование, но оно тоже оставит царапины, хоть и направленные; всё равно не то.
Это аквабластинг: микросферы из кремнезёма в потоке воды. Они бомбардируют алюминий, упрочняя поверхностный слой, и оставляя сотни микрократеров на 1мм². Это ручной этап, и чем ровнее получится бластить, тем лучше результат. Получим равномерную, правильно рассеивающую свет матовость.

3. Анодируем для красоты: обычное сернокислое анодирование без красителя (для цвета Silver), для других цветов красители я не подбирал. Так получаем толстый прочный оксидный слой Al₂O₃ для закрепления текстуры и для ощущения прочности.
На этом этапе становится важен материал. Алюминий 6061 проявляет себя хорошо, а вот пробовали мы такое сделать с алюминием после SLM 3D-печати — оказалось, что в порошке алюминия для печати есть кремний (это по сути силумин), и он не окисляется, создаёт серую пыль на поверхности, уходит в раствор в виде взвеси, падает на дно, короче создаёт шлам. Для 3D-печатных штук понадобится опыт анодирования силумина, либо некие фторсодержащие добавки для растворения кремния.

4. Уже почти то, что нужно — но сейчас поверхность пористая и жадно впитывает всё, не только краску, но и жир с пальцев: отпечатки появляются мгновенно и даже ацетон их не возьмёт.
Надо запечатать поры.
В промышленности это делают гидротермальным методом: свежий, не закристаллизовавшийся Al₂O₃ обдают горячей водой или паром, он переходит в бёмит AlO(OH), увеличиваясь в объёме и распирая/закрывая поры. Я сделал проще: аэрозольно покрыл лаком Cramolin Plastic, а липкую, блестящую плёнку лака с поверхности смыл ацетоном. Лак остался в порах, не давая адсорбироваться грязи. Это — органическая импрегнация пор.

Можно сказать, вы получите сапфировую плёнку на алюминии.
🔥37👍7🆒42😱2
ХИМИЧЕСКАЯ ËЛОЧКА не заставила себя ждать (но жёлтая)
0. Обмотайте весы плёнкой, наденьте перчатки, приготовьте пакет для мусора и бутылку с широким горлом.
1. В 500 мл колбе: 2 грамма нитрата свинца (II) растворите в 50 мл холодной воды с парой капель уксуса или несколькими крупинками лимонной кислоты, чтобы предотвратить гидролиз (а то пойдёт белёсая муть гидроксида/карбоната свинца).
2. В другой 50 мл колбе: 3 грамма йодида калия растворите в 30 мл холодной воды.
3. Покачивая большую колбу, вылейте в неё раствор йодида.
4. Восторгайтесь (очень важно!) насыщенному жёлтому цвету мелкокристаллического йодида свинца (II).
5. 5 минут дайте осадку осесть, слейте раствор в бутылку, промойте осадок холодной водой и опять слейте после отстоя.
6. Залейте туда 400 мл крутого кипятка (подогрейте колбу, чтобы не лопнула), перемешайте (осадок растворится) и оставьте.
7. Через полчаса в растворе начнут созревать кристаллы волшебной красоты. Наблюдайте. Это реакция "золотой дождь".
Pb(NO₃)₂ + 2 KI → PbI₂↓ + 2 KNO₃
8. Утилизируйте все перчатки и пакеты, бутылку, реагент нитрата свинца и дважды вымойте руки до локтя и лицо.
9. PbI₂ можно размешать в глицерине в маленькой колбе.

Суть реакции:
при взаимодействии нитрата свинца Pb(NO₃)₂ и йодида калия KI проиходит обмен ионами, и образуется йодид свинца PbI₂ (потому что он слаборастворим) и нитрат калия KNO₃, но поскольку реагенты смешиваются быстро и реагируют по всему объёму, йодид свинца получается очень мелкодисперсный. Прекрасный плотный жёлтый цвет, но это ещё только половина эксперимента.
Растворимость йодида свинца зависит от температуры: при 100°C это 4.36 г/л, при 80°C 3 г/л, а при комнатных 25°С — всего 0.76 г/л. Поэтому, если приготовить его насыщенный раствор в кипятке, то при охлаждении раствора эти лишние 3.6 грамма на литр выпадут в осадок; но главное, они будут кристаллизоваться медленно, образуя невиданной красоты кристаллы-хлопья сразу во всей толще раствора, сверкая и медленно опадая.
🔥185😱3
АНАЛОГОВЫЕ FPGA ДОСТУПНЫ, ОПЯТЬ
Программируемые аналоговые схемы это как привычные FPGA, только в аналоговой электронике: массив фильтров, усилителей, смесителей, детекторов, и всё это можно пересобирать софтом.
Профиты ясны: сейчас мы берём входной сигнал (почти всегда аналоговый), оцифруем его в АЦП, параллельно обрабатываем, короче все прелести трейдоффа "кол-во состояний vs битность". А так можно, например, умножить сигнал на N одной ячейкой.

Концепция известна с 90-х (тот же Anadigm), но есть проблемы. Классическая ПЛИС программируется внешней цифровой памятью, а настройки ПАИС (усиления, веса, токи смещения, пороги, тысячи их!) придётся как-то генерировать локально, ставя ЦАП на каждый вход — и лишнее место, и потребление.
Да и аналоговые штуки плохо масштабируются вниз, а для создания программируемой схемы нужен массив из большого количества одинаковых ячеек.

В новом SoC FPAA от Hasler эти значения хранятся в плавающих затворах pFET транзисторов прямо в массиве аналоговых ячеек. А для задания значений рядом есть АЦП/ЦАП, которые, конечно, можно использовать и для работы схемы. А ещё SRAM 16k*16 для кода и данных и 16-битное ядро MSP430 для контроля, обработки и динамического переконфигурирования схемы.

То есть, ЦАПы настроек никуда не исчезают, просто добавляются буферы и роутинг этих сигналов. Это до 600'000 раз компактнее, чем ставить ЦАП к каждому элементу, требующему настройки.
Отдельно они упоминают, что и этот роутинг сам является активным элементом цепи, участвующим в вычислениях.

Что можно делать, и сделано уже прямо сейчас: напрашивается always-on обработка сигнала рядом с сенсором, одновременно и конфигурируемая, и ультра-низкопотребляющая. Да и быстрое прототипирование аналоговых схем тоже хочется потрогать, а дальше перенести в схему, или так и оставить FPAA чип рядом.
Низкопотребляющая mixed-signal обработка, сенсор-хабы, адаптивные контуры управления без задержек на конверсии.

Два примера: подводный сонар с переконфигурированием на лету под разные режимы работы, и споттер ключевого слова (то, как умная колонка слышит ваше "Маруся!") с потреблением 23 мкВт. Да, keyword spotter на обычных SoC уже оптимизированы — даже приснопамятный IA611 с NPU потреблял 2 мВт на фазе ожидания ключевого слова; но ПАИС стократ экономичнее.

В 2025 Okika заявила о завершении поглощения Anadigm (прежние лидеры аналоговых матриц) и намерении развивать FPAA под своим крылом. Правда, основная отладочная плата пока стоит полмиллиона рублей. Ждём :)

Ну так а чо делать: это уже в чистом виде микропотребляющие нейроны, или аналоговый conditioner / анти-клип перед АЦП, переконфигурируемый аналоговый фронденд для стенда с датчиками, и даже симулятор динамических систем / ODE-решателей на аналоговых вычислениях.
Намеренно не провожу параллели с советским аналоговым гидрокомпьютером, потому что ну разный класс устройств.
11🤔5👍3🔥2🎄2😱1