Rst7 0 Posted December 29, 2020 · Report post 48 minutes ago, rkit said: В ftp нет защиты от потерь или повреждения данных. Совершенно недопустимо. Протокол следовало похоронить еще 20 лет назад. А в http он есть? Напомню, что ftp, что http работают по TCP, и именно он гарантирует целостность данных. Более того, tftp, работая через UDP тоже вполне гарантирует правильность данных в пределах пакета, а повторы потерянных пакетов там заложены в протокол. Ну и речь вообще идет о заливке прошивки. Очень было бы нифигово вообще хэши/эцп прошивки проверять перед тем, как ее применять. Независимо от того, каким способом она прилетела. Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted December 29, 2020 · Report post 5 minutes ago, Rst7 said: А в http он есть? Напомню, что ftp, что http работают по TCP, и именно он гарантирует целостность данных. Речь, возможно, об изменении пакетов на пути передачи. Так например делает китайская стена. Т.е. TCP не защищает от изменения содержимого пакетов. Гарантировать аутентичность пакетов может например TLS с шифрованием AES-GCM. В спецификации FTPS однако сказано, что некоторые стены не терпят такого шифрования и после завершения сессии передачи пароля требуют возврата на незашифрованный обмен. Т.е. FTP и FTPS не совсем то на что можно положиться. Quote Ответить с цитированием Share this post Link to post Share on other sites
Rst7 0 Posted December 29, 2020 · Report post 31 minutes ago, AlexandrY said: Т.е. FTP и FTPS не совсем то на что можно положиться. Еще раз и сначала. Мы тут беседуем о буткоре. Вы передаете прошивку в свои приборы нешифрованную и неподписанную? Оставляете все на совесть протоколов передачи данных? Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted December 29, 2020 · Report post 38 minutes ago, Rst7 said: Еще раз и сначала. Мы тут беседуем о буткоре. Вы передаете прошивку в свои приборы нешифрованную и неподписанную? Оставляете все на совесть протоколов передачи данных? Если сначала, то нужно выяснять как узнает дивайс о наличии прошивки, как узнает ее имя, как ищет сервер, где берет DNS, как проходит сквозь стены и т.д. А то как-то легенда незаконченная получается. Quote Ответить с цитированием Share this post Link to post Share on other sites
Rst7 0 Posted December 29, 2020 · Report post 3 minutes ago, AlexandrY said: Если сначала, то нужно выяснять как узнает дивайс о наличии прошивки, как узнает ее имя, как ищет сервер, где берет DNS, как проходит сквозь стены и т.д. Тут, кстати, ТС нас бы просветил, у него вообще клиент или сервер. А то из стартового поста не очень понятно, мне привиделось, что сервер. И мне пофиг на всякие стены и прочее. А Вам, походу, что клиент. И Вас теперь это беспокоит Quote Ответить с цитированием Share this post Link to post Share on other sites
rkit 0 Posted December 30, 2020 · Report post В http можно ОДНИМ запросом скачать новую прошивку, или получить ответ, что ее нет (If-Modified-Since). Есть content-length и digest для валидации, не нужно колдовать с двумя портами, нет 5 бесполезных режимов передачи. ftp давно пора похоронить. Quote Ответить с цитированием Share this post Link to post Share on other sites
Rst7 0 Posted December 30, 2020 · Report post 6 hours ago, rkit said: В http можно ОДНИМ запросом скачать новую прошивку, или получить ответ, что ее нет (If-Modified-Since). Это если Ваше устройство - клиент. А если сервер? 6 hours ago, rkit said: ftp давно пора похоронить. Да конкретно Вас никто не заставляет пользоваться ftp. Более того, я, например, вообще обновляю через tftp у себя, полностью отдельным буткором, там что-то килобайта полтора кода вообще на все, если отладочный printf выбросить. Потому что у меня устройство может в интернет и не попасть, а вот с софтом верхнего уровня коммуницировать всегда будет (у него работа такая), вот софт верхнего уровня через tftp при необходимости в девайс прошивку и зальет. Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted December 30, 2020 · Report post 22 hours ago, Rst7 said: Тут, кстати, ТС нас бы просветил, у него вообще клиент или сервер. А то из стартового поста не очень понятно, мне привиделось, что сервер. И мне пофиг на всякие стены и прочее. А Вам, походу, что клиент. И Вас теперь это беспокоит Меня не беспокоит. У меня дивайсы прошиваются через SD, UART, CAN, USB MSD и RNDIS, через FTP и FTPS (и клиент и сервер, и пасивный и активный режимы) и конечно через MQTT Вот последний вариант я бы рекомендовал. В отличии от передачи подписанной прошивки которую надо всю скачать и сохранить где-то чтобы проверить подпись, MQTT с TLS позволяет прошивать пакеты сразу. С pre-shared key (PSK) займет дополнительно килобайт 10. Что гораздо меньше всего хозяйства требуемого для RSA или ECC Ну и плюс дикие преимущества при работе с парками устройств и через глобальные сети. Quote Ответить с цитированием Share this post Link to post Share on other sites
Rst7 0 Posted December 31, 2020 · Report post 21 hours ago, AlexandrY said: В отличии от передачи подписанной прошивки которую надо всю скачать и сохранить где-то чтобы проверить подпись, MQTT с TLS позволяет прошивать пакеты сразу. Особенно, когда связь разорвется на середине передачи прошивки, прям замечательно будет. Хоть с подписями, хоть без. Quote Ответить с цитированием Share this post Link to post Share on other sites
Quasar 0 Posted January 6 · Report post 29.12.2020 в 17:10, mantech сказал: Тоже не понимаю, что все хттпшные загрузчики в моде стали - это ж не для этого протокол вообще, всегда по FTP делаю http всегда разрешен в корпоративных сетях. Устройство делаешь клиентом, поднимаешь http сервер с прошивкой где-нибудь в интернете (ну или локально в сети), устройство само проверяет доступность прошивки по http и предлагает пользователю скачать и обновить. А возиться с этими tftp и ftp... Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted January 6 · Report post 22 minutes ago, Quasar said: поднимаешь http сервер с прошивкой где-нибудь в интернете (ну или локально в сети) Да, это еще одна скверная особенность решений с сервером в интернете. Оно вынуждает хранить драгоценные файлы на стороннем сервере, админить их там. Т.е. стирать ( а ведь на самом деле ничего там не стирается), добавлять, каталогизировать, переименовывать, думать о файрволе и т.д. Решения с брокерами выглядят гораздо более защищенными. Quote Ответить с цитированием Share this post Link to post Share on other sites
Quasar 0 Posted January 6 · Report post 10 часов назад, AlexandrY сказал: Да, это еще одна скверная особенность решений с сервером в интернете. Оно вынуждает хранить драгоценные файлы на стороннем сервере, админить их там. Т.е. стирать ( а ведь на самом деле ничего там не стирается), добавлять, каталогизировать, переименовывать, думать о файрволе и т.д. Решения с брокерами выглядят гораздо более защищенными. Какой брокер, чего брокер? Если я вобью в гугле http я найду все, что нужно мне знать об этом. Если я вобью в гугле брокер, найду чего угодно, рядом нестоящее к ембедеду. Вы в каждом первом посте пытаетесь показать, насколько далеко от вас серые массы? К чему все эти рекламно-маркетинговые вбросы? 28.12.2020 в 13:52, AlexandrY сказал: Скажем все спасибо участнику dxp. Спасибо! Quote Ответить с цитированием Share this post Link to post Share on other sites
mantech 0 Posted January 6 · Report post 11 часов назад, Quasar сказал: устройство само проверяет доступность прошивки по http и предлагает пользователю скачать и обновить. А возиться с этими tftp и ftp... А зачем с ними возиться, они стандартные, раз сделал и все. А хттп - это парсить кучу текста, нестандартый протокол передачи файлов и пр... Ну вообщем на вкус и цвет... 26 минут назад, Quasar сказал: Какой брокер, чего брокер? Да у него всегда одни брокеры... как на бирже)))))))))) Quote Ответить с цитированием Share this post Link to post Share on other sites
rx3apf 0 Posted January 6 · Report post 1 час назад, mantech сказал: А хттп - это парсить кучу текста, нестандартый протокол передачи файлов и пр... Конечно, может быть я чего не понимаю, но в устройстве с GSM-модемом мне оказалось проще написать все самому, чем использовать готовый, встроенный в модем движок. Какую "кучу текста" там надо парсить ? Мне потребовалось знать только код ответа (200) и тэг "Content-Length:". А зачем что-то еще ? И что значит "нестандартный протокол передачи файлов" ? Файл льется как есть. Длину знаем, столько и принимаем и сохраняем. Приняли - проверяем целостность и шьем. Quote Ответить с цитированием Share this post Link to post Share on other sites
mantech 0 Posted January 6 · Report post 28 минут назад, rx3apf сказал: Файл льется как есть. Это как интересно? Т.е. на пакеты не бьем, КС не формируем и не проверяем? Оригинально, интересно, у вас там инет идеальный или с какого раза успешно принимается файл, скажем килобайт 200-300? Quote Ответить с цитированием Share this post Link to post Share on other sites