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

 
 
6 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> stm32F10x- защита от чтения , использование flash как eeprom и собственный бутлоадер, нюансы реализации.
Непомнящий Евген...
сообщение Apr 17 2013, 14:21
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(Aner @ Apr 17 2013, 17:59) *
Алгоритм цифровой подписи вам ничего особенного не дает, разве что при пересылке файла проги быть уверенным, что не подменили или не побилась.
А так программа все равно открыта без крипотвки. Только обязательная криптовка, или шифорвка позволяет защитить до некоторой степени ваш загрузчик и программу. Так что это не дополнительное условие а обязательное. А ваша подпись это доп условие не очень и нужное. Так как жрёт ресурс внутри проца.


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

Алгоритмов много, я применяю гостовский. Он симметричный, т.е. прошивка подписывается ключом, который должен знать загрузчик. Есть ассиметричные алгоритмы - с открытым и закрытым ключом. В таком случае подпись может проверить кто угодно по открытому ключу. Но они более прожорливы - как по ресурсам, так и по объему программы.
Go to the top of the page
 
+Quote Post
Aner
сообщение Apr 17 2013, 14:36
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Не, мне читать не надо, я и так "fluffy". Так не вводите в заблуждение, сами пишите только про цифровую подпись, а теперь про криптографическую. С симметрией и так все понятно. Не использую криптографическую цифровую подпись из-за её громоздкости и избыточности, да и места не так уж много остается. Нестандартный крипто алгоритм дает немного большей защищённости и меньший объем программного кода.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Apr 17 2013, 15:20
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Гм, цифровая подпись обычно имеется в виду именно криптографическая. Иначе говорят "контрольная сумма".

Нестандартный криптоалгоритм с хорошей вероятностью легко ломается. Криптография - сложная штука, и если вы - не профильный специалист, то изобретать свои алгоритмы криптографии не рекомендуется wink.gif
Даже в стандартных периодически находят дырки...

Что касается ресурсов - гостовские подпись и шифрование используют общий код, так что оверхед по объему загрузчика незначителен
Go to the top of the page
 
+Quote Post
Aner
сообщение Apr 17 2013, 15:44
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Цифровая подпись есть цифровая подпись и ничего не меется в виду, что то сродни MD5, иначе с вашими "имеется в виду" полный бардак. Возможно для вас криптография - сложная штука по этому и пользуетесь гостовской с низкой стойкостью. Однозначно, незначительный оверхед = низкая стойкость.
Нестандартный с хорошей вероятностью легко ломается - ... это вас кто-то напугал, чтобы пользовали гостовский. Все же считается. Но в этой теме не об этом.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 17 2013, 16:21
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



В целом забавная беседа%)... С одной стороны человек знающий ассимитричные и гостовские алгоритмы и использующий понятие "цифровая подпись" в значении в котором ее использует 99% мира. С другой стороны человек именующий цифровой подписью контрольную сумму и который изобрел свой алгоритм шифрования... потому что гостовский не особенно стойкий,... Хм... в чей продукт поверить?!...

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

Учитывая что вам нет необходимости передавать ключ (а это то как переставляются символы), то можно очень легко сделать абсолютно стойкую систему, весьма малыми затратами, главное чтобы кто-то случайно алгоритм перестановки не узнал%)
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 17 2013, 16:37
Сообщение #21


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Aner @ Apr 17 2013, 15:47) *
Похоже, только начинаете с ними работать.
С чего такие выводы, прозорливый вы наш?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Aner
сообщение Apr 17 2013, 19:37
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (Golikov A. @ Apr 17 2013, 19:21) *
В целом забавная беседа%)... С одной стороны человек знающий ассимитричные и гостовские алгоритмы и использующий понятие "цифровая подпись" в значении в котором ее использует 99% мира. С другой стороны человек именующий цифровой подписью контрольную сумму и который изобрел свой алгоритм шифрования... потому что гостовский не особенно стойкий,... Хм... в чей продукт поверить?!...

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

Учитывая что вам нет необходимости передавать ключ (а это то как переставляются символы), то можно очень легко сделать абсолютно стойкую систему, весьма малыми затратами, главное чтобы кто-то случайно алгоритм перестановки не узнал%)

Тут еще вы все в кучу свалили, это печально. Начинающих сбиваете с толку. Цифровая подпись файла и гост стандарт для электронной цифровой подписи немного разные вещи. Такое ощущение, что не видите разницы. Я уж молчу про 99% мира, которого вы и не знаете.
Да еще и выдаете ваше желание-непонимание за якобы моё мнение, что цифровая подпись - это контрольная сумма. Да и ничего я не изобретал, писал же - использую не стандартный. Разочарую, но в криптографии нет терминов и понятия абсолютно невзламываемые шифры, для того применения о котором тут говориться.

Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 18 2013, 03:34
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Ваша беда что вы пишите это на основе ВАШЕГО личного понимания мира%))... У меня диплом специальность математика и диплом по криптографииsm.gif)) так что я опираюсь на книги и накопленный опыт мираsm.gif...

даже векипедия с вами не согласна, а она уж точно средне статистическое неискушенное мнение

Электро́нная по́дпись (ЭП), Электро́нная цифровая по́дпись (ЭЦП) — информация в электронной форме, присоединенная к другой информации в электронной форме (электронный документ) или иным образом связанная с такой информацией. Используется для определения лица, подписавшего информацию (электронный документ).
По своему существу электронная подпись представляет собой реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭП и проверить принадлежность подписи владельцу сертификата ключа ЭП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа ЭП.

Определить лицо, проверить принадлежность владельцу, на то она и подпись!
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Apr 18 2013, 05:06
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(Golikov A. @ Apr 17 2013, 20:21) *
В теории криптографии есть абсолютно невзламываемые шифры - это шифры перестановки. Если вы возьмете текст и по известному вам алгоритму переставите все символы, не знающий данного алгоритма никогда не сможет получить исходный текст (разве что случайно, но и в этом случае у него нет гарантии того что это исходный текст), это абсолютно стойкий криптоалгоритм, выдерживающий все возможные способы анализа.

Учитывая что вам нет необходимости передавать ключ (а это то как переставляются символы), то можно очень легко сделать абсолютно стойкую систему, весьма малыми затратами, главное чтобы кто-то случайно алгоритм перестановки не узнал%)


Гм, я очень далек от криптографии, но насколько я вас понял, тут сам алгоритм перестановки и является ключом. Дальше все наверное упирается в его размер.
Go to the top of the page
 
+Quote Post
Aner
сообщение Apr 18 2013, 09:21
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (Golikov A. @ Apr 18 2013, 06:34) *
Ваша беда что вы пишите это на основе ВАШЕГО личного понимания мира%))... У меня диплом специальность математика и диплом по криптографииsm.gif)) так что я опираюсь на книги и накопленный опыт мираsm.gif...

Вы делаете оценку моего понимания мира не зная меня, уже забавно. Похоже эго зашкаливает, по существу в этой теме пока ничего не сказали. Ну а вы пишите не на основе ВАШЕГО личного понимания мира, тогда чьего?

QUOTE (Golikov A. @ Apr 18 2013, 06:34) *
... даже векипедия с вами не согласна, а она уж точно средне статистическое неискушенное мнение

Электро́нная по́дпись (ЭП), Электро́нная цифровая по́дпись (ЭЦП) — информация в электронной форме, присоединенная к другой информации в электронной форме (электронный документ) или иным образом связанная с такой информацией. Используется для определения лица, подписавшего информацию (электронный документ).
По своему существу электронная подпись представляет собой реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭП и проверить принадлежность подписи владельцу сертификата ключа ЭП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа ЭП.

Определить лицо, проверить принадлежность владельцу, на то она и подпись!

Похоже ваш диплом на информации из веки-педи.
Похоже на то, что вы не знаете программирование мк и у вас нет опыта, тем более с ARM-ами.
В этой ветке вы просто флудите, не более.

QUOTE (Непомнящий Евгений @ Apr 18 2013, 08:06) *
Гм, я очень далек от криптографии, но насколько я вас понял, тут сам алгоритм перестановки и является ключом. Дальше все наверное упирается в его размер.

Соответствующее признание. Начните знакомство об электронной подписи c хеш-функций. Затем DES, AES.
Go to the top of the page
 
+Quote Post
aoreh
сообщение Apr 18 2013, 09:35
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 16-06-11
Пользователь №: 65 731



Цитата(Непомнящий Евгений @ Apr 17 2013, 14:49) *
Подписываю. Ресурсы именно на подпись не считал. Загрузчик с шифрованием и цифровой подписью, прием по rs232 и еще несколько плюшек на gcc у меня занимает почти 8к. Флаги оптимизации подобрал, писал не сильно заморачиваясь на "С с классами".

а зачем сложно подписывать, если программа зашифрована? расшифровать и зашифровать свое ведь и так никто не сможет (в разумное время/деньги)? а загрузчик должен работать только с шифрованными данными ну и какой-нибудь црц, что бы убедиться, что распаковано верно.

Сообщение отредактировал aoreh - Apr 18 2013, 11:05
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Apr 18 2013, 14:18
Сообщение #27


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Заканчиваем обсуждать личности!
Модератор.
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Apr 18 2013, 15:19
Сообщение #28


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(demiurg_spb @ Apr 17 2013, 14:55) *
..Нужно специально снимать биты защиты..


о как. а более подробно не осветите аспект?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 18 2013, 16:46
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(Непомнящий Евгений @ Apr 18 2013, 09:06) *
Гм, я очень далек от криптографии, но насколько я вас понял, тут сам алгоритм перестановки и является ключом. Дальше все наверное упирается в его размер.


Да ключом является то как переставлены байты.

ну к примеру


Есть последовательность байт
а1 а2 а3 а4 а5 а6 а7 а8...

мы решаем что 1 пришедший байт ставим на 3 позицию, второй пришедший на 1 позицию, 3 пришедший на 4 позицию, а 4 пришедший на 2 и так по кругу получаем послдеовательность
а2 а4 а1 а3 а6 а8 а5 а7 ....
в контроллере делаем тоже самое в обратном порядке, весь входной поток так обрабатываем, как видите алгоритмические и ресурсные затраты минимальны

перестановка группами по 4 дает 4! вариантов, то есть 24 вида кода, перестановка из Н дает Н! видов кода, и только 1 из этого множества ваш.
Причем прелесть в том что все комбинации равновероятны, и даже перебрав их все, невозможно выделить по каким либо признакам верную.

Любой человек написавший код, должен по вашему алгоритму переставить байты, чтобы передав их в загрузчик они переставились обратно и создали реально работающий код. Из нашего примера 23 вида кодов не дадут правильного результата, причем если учесть еще архитектуру процессора, можно подобрать такой ключ что многие коды будут запускаться и работать, только делать фигню... А можно после перестановки проверять контрольную сумму и при несовпадении симулировать работу, выкидывая всякий мусор на порт и так далее....

Поскольку шифр перестановки не изменяет состав и статистических характеристики исходного "текста" он не поддается никаким видам анализа кроме линейного перебора, но параметров перебора великое множество, и нет критерия достоверности проверки, так что это достаточно простая, но крайне эффективная система защиты.

Желаю удачи всем способным слышатьsm.gif ...





Go to the top of the page
 
+Quote Post
Serj78
сообщение Apr 18 2013, 18:51
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499



Огромное спасибо всем за обсуждение!

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

Планировал использовать штатный бутлоадер и остановиться на простом варианте, и основанном на том что нельзя при установленном бите защиты памяти нельзя считать дамп флеш памяти, но писать в флешь изнутри программы- можно. (этого я не знал, полагал что писать ничем нельзя если стоит wp на все страницы.)

Но теперь вижу что и это не возможно..
У меня есть достаточно большое количество констант без которых программа будет работать некорректно.
Соответственно я планировал класть ихна одну из страниц, не занимаемых программой.

Однако при попытке обновиться через штатный бутлоадер при стирании невозможно стереть не всю память..
Go to the top of the page
 
+Quote Post

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

 


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


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