|
|
  |
stm32F10x- защита от чтения , использование flash как eeprom и собственный бутлоадер, нюансы реализации. |
|
|
|
Apr 17 2013, 14:21
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(Aner @ Apr 17 2013, 17:59)  Алгоритм цифровой подписи вам ничего особенного не дает, разве что при пересылке файла проги быть уверенным, что не подменили или не побилась. А так программа все равно открыта без крипотвки. Только обязательная криптовка, или шифорвка позволяет защитить до некоторой степени ваш загрузчик и программу. Так что это не дополнительное условие а обязательное. А ваша подпись это доп условие не очень и нужное. Так как жрёт ресурс внутри проца. Вы почитайте про криптографическую цифровую подпись. Судя по вашему сообщению, вы говорите о контрольной сумме, которая применяется именно для защиты от случайных повреждений пакетов данных. Цифровая подпись же удостоверяет автора (в данном случае - мою организацию - автора прошивки). Злоумышленник, не зная ключа, не может создать свою программу и правильно ее подписать. Или внести изменения в мою программу... Алгоритмов много, я применяю гостовский. Он симметричный, т.е. прошивка подписывается ключом, который должен знать загрузчик. Есть ассиметричные алгоритмы - с открытым и закрытым ключом. В таком случае подпись может проверить кто угодно по открытому ключу. Но они более прожорливы - как по ресурсам, так и по объему программы.
|
|
|
|
|
Apr 17 2013, 15:20
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Гм, цифровая подпись обычно имеется в виду именно криптографическая. Иначе говорят "контрольная сумма". Нестандартный криптоалгоритм с хорошей вероятностью легко ломается. Криптография - сложная штука, и если вы - не профильный специалист, то изобретать свои алгоритмы криптографии не рекомендуется  Даже в стандартных периодически находят дырки... Что касается ресурсов - гостовские подпись и шифрование используют общий код, так что оверхед по объему загрузчика незначителен
|
|
|
|
|
Apr 17 2013, 19:37
|

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

|
QUOTE (Golikov A. @ Apr 17 2013, 19:21)  В целом забавная беседа%)... С одной стороны человек знающий ассимитричные и гостовские алгоритмы и использующий понятие "цифровая подпись" в значении в котором ее использует 99% мира. С другой стороны человек именующий цифровой подписью контрольную сумму и который изобрел свой алгоритм шифрования... потому что гостовский не особенно стойкий,... Хм... в чей продукт поверить?!...
В теории криптографии есть абсолютно невзламываемые шифры - это шифры перестановки. Если вы возьмете текст и по известному вам алгоритму переставите все символы, не знающий данного алгоритма никогда не сможет получить исходный текст (разве что случайно, но и в этом случае у него нет гарантии того что это исходный текст), это абсолютно стойкий криптоалгоритм, выдерживающий все возможные способы анализа.
Учитывая что вам нет необходимости передавать ключ (а это то как переставляются символы), то можно очень легко сделать абсолютно стойкую систему, весьма малыми затратами, главное чтобы кто-то случайно алгоритм перестановки не узнал%) Тут еще вы все в кучу свалили, это печально. Начинающих сбиваете с толку. Цифровая подпись файла и гост стандарт для электронной цифровой подписи немного разные вещи. Такое ощущение, что не видите разницы. Я уж молчу про 99% мира, которого вы и не знаете. Да еще и выдаете ваше желание-непонимание за якобы моё мнение, что цифровая подпись - это контрольная сумма. Да и ничего я не изобретал, писал же - использую не стандартный. Разочарую, но в криптографии нет терминов и понятия абсолютно невзламываемые шифры, для того применения о котором тут говориться.
|
|
|
|
|
Apr 18 2013, 03:34
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Ваша беда что вы пишите это на основе ВАШЕГО личного понимания мира%))... У меня диплом специальность математика и диплом по криптографии  )) так что я опираюсь на книги и накопленный опыт мира  ... даже векипедия с вами не согласна, а она уж точно средне статистическое неискушенное мнение Электро́нная по́дпись (ЭП), Электро́нная цифровая по́дпись (ЭЦП) — информация в электронной форме, присоединенная к другой информации в электронной форме (электронный документ) или иным образом связанная с такой информацией. Используется для определения лица, подписавшего информацию (электронный документ). По своему существу электронная подпись представляет собой реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭП и проверить принадлежность подписи владельцу сертификата ключа ЭП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа ЭП. Определить лицо, проверить принадлежность владельцу, на то она и подпись!
|
|
|
|
|
Apr 18 2013, 05:06
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

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

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

|
QUOTE (Golikov A. @ Apr 18 2013, 06:34)  Ваша беда что вы пишите это на основе ВАШЕГО личного понимания мира%))... У меня диплом специальность математика и диплом по криптографии  )) так что я опираюсь на книги и накопленный опыт мира  ... Вы делаете оценку моего понимания мира не зная меня, уже забавно. Похоже эго зашкаливает, по существу в этой теме пока ничего не сказали. Ну а вы пишите не на основе ВАШЕГО личного понимания мира, тогда чьего? QUOTE (Golikov A. @ Apr 18 2013, 06:34)  ... даже векипедия с вами не согласна, а она уж точно средне статистическое неискушенное мнение
Электро́нная по́дпись (ЭП), Электро́нная цифровая по́дпись (ЭЦП) — информация в электронной форме, присоединенная к другой информации в электронной форме (электронный документ) или иным образом связанная с такой информацией. Используется для определения лица, подписавшего информацию (электронный документ). По своему существу электронная подпись представляет собой реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭП и проверить принадлежность подписи владельцу сертификата ключа ЭП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа ЭП. Определить лицо, проверить принадлежность владельцу, на то она и подпись! Похоже ваш диплом на информации из веки-педи. Похоже на то, что вы не знаете программирование мк и у вас нет опыта, тем более с ARM-ами. В этой ветке вы просто флудите, не более. QUOTE (Непомнящий Евгений @ Apr 18 2013, 08:06)  Гм, я очень далек от криптографии, но насколько я вас понял, тут сам алгоритм перестановки и является ключом. Дальше все наверное упирается в его размер. Соответствующее признание. Начните знакомство об электронной подписи c хеш-функций. Затем DES, AES.
|
|
|
|
|
Apr 18 2013, 09:35
|
Участник

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

|
Цитата(Непомнящий Евгений @ Apr 17 2013, 14:49)  Подписываю. Ресурсы именно на подпись не считал. Загрузчик с шифрованием и цифровой подписью, прием по rs232 и еще несколько плюшек на gcc у меня занимает почти 8к. Флаги оптимизации подобрал, писал не сильно заморачиваясь на "С с классами". а зачем сложно подписывать, если программа зашифрована? расшифровать и зашифровать свое ведь и так никто не сможет (в разумное время/деньги)? а загрузчик должен работать только с шифрованными данными ну и какой-нибудь црц, что бы убедиться, что распаковано верно.
Сообщение отредактировал aoreh - Apr 18 2013, 11:05
|
|
|
|
|
Apr 18 2013, 16:46
|
Гуру
     
Группа: Свой
Сообщений: 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 вида кодов не дадут правильного результата, причем если учесть еще архитектуру процессора, можно подобрать такой ключ что многие коды будут запускаться и работать, только делать фигню... А можно после перестановки проверять контрольную сумму и при несовпадении симулировать работу, выкидывая всякий мусор на порт и так далее.... Поскольку шифр перестановки не изменяет состав и статистических характеристики исходного "текста" он не поддается никаким видам анализа кроме линейного перебора, но параметров перебора великое множество, и нет критерия достоверности проверки, так что это достаточно простая, но крайне эффективная система защиты. Желаю удачи всем способным слышать  ...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|