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

 
 
> Безопасно ли так шифровать?, RSA-4096 ключ, AES, SHA512
denyslb
сообщение Nov 23 2017, 10:42
Сообщение #1


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

Группа: Свой
Сообщений: 111
Регистрация: 5-05-10
Из: Lebanon, Beirut
Пользователь №: 57 093



Генерация ключа:
random - IV[16] + CRYPTKEYSRC[64]
юзерский пароль - PW[x]
AESKEY = SHA512(CRYPTKEYSRC+PW)
ну и соотвественно
CIPHERTEXT = aescrypt(PLAINTEXT, IV...
в plaintext есть CRC для проверки валидности расшифрованных данных

Соответственно на устройстве храню:
CRYPTKEYSRC[64] + IV[16] + CIPHERTEXT

расшифровка по тому же алгоритму, с помощью смешивания CRYPTKEYSRC+PW и хеширования - получаем ключ для AES
дешифруем, проверяем CRC

plaintext юзеру не показываем, это секретные части RSA ключа, просто код возврата - расшифровался ключ или нет
(много итераций делать не могу, даже sha512 считается долго, и памяти тоже впритык)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Nov 23 2017, 20:54
Сообщение #2


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

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Денис, Вы сами подумайте, что и от кого надо защищать.
Пока не очень понятно, что у Вас хранится, как передаётся и проч.

Предположим, что методом прямого перебора сломать это изделие не получится.
Я крипто-дилетант, но искренне уверен, что AES128 достаточно надёжен (т.е. квантовых компьютеров в обозримом будущем не появится; майнеры разумной стоимости за разумное время 128 бит не переберут никак).

Т.е., предполагаем, что хакер каким-то образом получил доступ к содержимому памяти контроллера. Осталось малое - подобрать пользовательский пароль (сколько байт?), и всё - искомый plaintext у нас в кармане (мы ведь его прятали?).
Насколько это реально, не знаю. Как-то интересовался темой "прочитать залоченный контроллер", но никого, внушающего доверие, не нашёл... Зато слышал много рассказов (и здесь в т.ч.) в духе "друг брата мужа сестры сам так делал...".


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
denyslb
сообщение Nov 23 2017, 22:39
Сообщение #3


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

Группа: Свой
Сообщений: 111
Регистрация: 5-05-10
Из: Lebanon, Beirut
Пользователь №: 57 093



Цитата(esaulenka @ Nov 23 2017, 23:54) *
Денис, Вы сами подумайте, что и от кого надо защищать.
Пока не очень понятно, что у Вас хранится, как передаётся и проч.

Предположим, что методом прямого перебора сломать это изделие не получится.
Я крипто-дилетант, но искренне уверен, что AES128 достаточно надёжен (т.е. квантовых компьютеров в обозримом будущем не появится; майнеры разумной стоимости за разумное время 128 бит не переберут никак).

Т.е., предполагаем, что хакер каким-то образом получил доступ к содержимому памяти контроллера. Осталось малое - подобрать пользовательский пароль (сколько байт?), и всё - искомый plaintext у нас в кармане (мы ведь его прятали?).
Насколько это реально, не знаю. Как-то интересовался темой "прочитать залоченный контроллер", но никого, внушающего доверие, не нашёл... Зато слышал много рассказов (и здесь в т.ч.) в духе "друг брата мужа сестры сам так делал...".

В plaintext хранится RSA-4096 (точнее длины и сами E,P,Q) в STM32F1. Сам контроллер дешифрует ключ, и подписывает с его помощью данные подсунутые юзером.

Несомненно, если плату украдут, через некоторое время(возможно в течении 1-2 часов, уязвимостей в контроллерах хватает) зашифрованные ключи сдернут, но если юзерский пароль достаточной сложный, то перебирать пароль прийдется долго. Задачу можно чуть усложнить, залив плату эпоксидкой, я думаю пока ее уберут - это займет время. Можно еще сложнее - многослойная плата, после программирования отламываем кусок с падами программирования по перфорации, сам чип в BGA корпусе. Еще больше времени выигрываем.
SHA512 сам по себе даже на 8x1080 перебирается 8624.7MH/s., можно конечно усложнить и сделать как в PBDKF несколько оборотов, но даже так,к примеру на 1GH/s это около 60 часов на слабенький 8 символьный alphanumeric с разным регистром, а вот если добавить спецсимволы - 83 дня, чего в принципе достаточно, чтобы сообщить о краже и сменить этот RSA ключик. Задача еще усложняется тем, что кроме перебора хеша надо дешифровать кусок данных и проверить его на валидность, это уже надо попотеть, чтоб спараллелить и скрипт-кидди уже не смогут затолкать в какойнить готовенький hashcat.

В моем случае предполагается защита от "хакеров" не обладающих значительными ресурсами.


Да, кстати квантовые компы ухудшают AES, который является симметричным крипто - лишь на порядок. Это много, но не фатально.
А вот RSA с ними станет бесполезен, как и EC.

А как ломать STM32F0 и выдергивать из них прошивку, вот реальные данные: https://www.aisec.fraunhofer.de/content/dam...r-obermaier.pdf
Go to the top of the page
 
+Quote Post



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

 


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


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