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

 
 
> Безопасно ли так шифровать?, 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
Ответов
Kabdim
сообщение Nov 24 2017, 09:06
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Если же с бытовой точки зрения, при упаковывании больших потоков информации нужно добавить key meshing. Но в целом ваш подход без определения модели противника, стоимости информации, объемов инфы, процедуры смены ключей при их компрометации - глубоко неправильный. На таком уровне любой современный алгоритм - достаточно хороший. Если есть возможность лучше возьмите openssl и сделайте не нём, это будет лучше чем писать самому.
Go to the top of the page
 
+Quote Post
denyslb
сообщение Nov 24 2017, 12:47
Сообщение #3


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

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



Цитата(Kabdim @ Nov 24 2017, 12:06) *
Если же с бытовой точки зрения, при упаковывании больших потоков информации нужно добавить key meshing. Но в целом ваш подход без определения модели противника, стоимости информации, объемов инфы, процедуры смены ключей при их компрометации - глубоко неправильный. На таком уровне любой современный алгоритм - достаточно хороший. Если есть возможность лучше возьмите openssl и сделайте не нём, это будет лучше чем писать самому.

openssl в stm32, вы пошутили? sm.gif Кстати именно openssl, даже не в embedded я бы не особо доверял(особенно высокоуровневым фунцкиям, где могут быть сюрпризы типа heartbleed), кроме недостатка в виде безумного API, судя по новостям у него очень плохо в последнее время с верификацией нового кода, я предпочту его форки.
Уточню, это брелок для хранения ssh ключей на stm32f103, проект опенсорс. Буду использовать и для своих целей, первую версию - для некритических задач.
Основа крипто в брелке у меня на аналоге, mbedtls, который более дружен с embedded.
Причем тут key meshing - не совсем понял, у меня создается ключ для AES256 с помощью SHA512, смешивая рандомную строку с паролем, по сути рандомная строка работает как salt, затем этим AES256 дешифруем ключ RSA(до 4096 байт включительно) размером в ~527 байт, хранящийся на внутренней флеше. Насколько я знаю, в данном случае допустим банальный CBC, т.к. ни ciphertext, ни plaintext атакующий ни модифицировать не может, как и перехватить данные и проанализировать, все происходит внутри чипа. А вот украсть брелок и сдернуть прошивку - вполне.
Против всяких подслушек по питанию я пока защищаться не буду, т.к. во первых маловероятно, что кто-то воткнет мне такое в комп, чтоб я этого не заметил, и поначалу задачи будет выполнять распространенная платка за $2, а для защиты от атак по питанию и EMI надо разрабатывать плату с нуля.
Модель противника - написана выше, уточню - это посторонний человек который может украсть брелок, без огромного финансирования(т.е. кластеры и железки типа 8x1080, электронный микроскоп и т.п. ему наврядли доступны), и задача сохранить ciphertext нерасшифрованным до момента когда доступ на сервера отзовут (обычно сутки-двое).
Стоимость информации обычно мала, сама информация существенной стоимости не имеет, а вот возможные деструктивные действия с помощью ключей - уже хуже.
Go to the top of the page
 
+Quote Post



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

 


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


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