|
|
  |
обновление прошивки в 100500 vs 100..500 девайсах |
|
|
|
Dec 8 2017, 17:59
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(amiller @ Dec 8 2017, 18:37)  У меня проблем слишком большого количества клиентов нет, но в принципе считаю, что проблемы обновления миллиона прошивок лучше переложить на миллион клиентов. Есть загрузчик, содержащий ключи шифрования, в устройстве, залоченном на предприятии. И есть сайт, на котором публикуется актуальная программа для прошивки девайсов, а также последние прошивки (естественно зашифрованные) с информацией об изменениях в них. Клиенты сами всё это скачивают и заливают. Для особо одаренных есть видеоролик с пояснениями. Так как в расшифрованном виде прошивка восстанавливается только внутри залоченного девайса, то защита интеллектуальной собственности сводится к обычным правилам безопасности на предприятии. А задача публичной программы для прошивки - передать загрузчику зашифрованную прошивку без каких либо преобразований. +1
|
|
|
|
|
Dec 8 2017, 19:21
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(amiller @ Dec 8 2017, 15:37)  Есть загрузчик, содержащий ключи шифрования, в устройстве, залоченном на предприятии. предлагаете прошить одинаковый ключ во все девайсы ? Цитата(mantech @ Dec 8 2017, 18:20)  Ну дак займитесь культурой производства, чтоб прошивка не гуляла по предприятию, сделайте спецпрограмматор с аутентификацией по усб-токену, подсчету прошитых устройств и выдавайте его под роспись... я тут каким боком ? я про клиента-злоумышленника говорю в общем, я тут поразмышлял и решил, что в заданных ограничениях задача неразрешима
Сообщение отредактировал Огурцов - Dec 8 2017, 19:22
|
|
|
|
|
Dec 9 2017, 09:55
|
Частый гость
 
Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612

|
Цитата(Огурцов @ Dec 8 2017, 22:21)  предлагаете прошить одинаковый ключ во все девайсы ? Если речь идёт о ключе шифрования, то да, я использую один сложный ключ для всех устройств, в которых предусмотрен механизм удаленной замены прошивки. Алгоритм шифрования выбирал вынужденно. Устройства выпускаю на разных процессорах, поэтому нужен был чисто программный алгоритм. В свое время удалось найти только AES, на нем и остановился (AES-256). Используется уже более 5 лет (около двух десятков видов устройств общим тиражом тысяч тридцать, наверное) и пока о случаях взлома ничего неизвестно. Но кроме ключа шифрования есть ещё различные опции, которые характеризуют устройства и версию ПО. Это идентификатор устройства, версия ПО, идентификатор клиента и ещё некоторые опции специализации. Такая же информация находится в заголовке прошивки, который не зашифрован, но защищен от изменения зашифрованным ключом. Заголовок использует программа загрузки, которая реализует интерфейс с пользователем, и принимает предварительное решение о том, подходит ли данная прошивка для данного устройства/клиента. А окончательное решение о возможности заливки ПО принимает уже загрузчик в устройстве.
|
|
|
|
|
Dec 9 2017, 10:23
|
Участник

Группа: Участник
Сообщений: 59
Регистрация: 2-12-17
Пользователь №: 100 464

|
Цитата(Огурцов @ Dec 8 2017, 13:50)  обновление прошивки в 100500 vs 100..500 девайсах давайте обсудим логику работы системы и самого процесса исходя из того, что как обновлять прошивку в 100..500 девайсах вопросов не вызывает А в чем проблема-то? Вы её не озвучили. Тогда что обсуждать?
|
|
|
|
|
Dec 9 2017, 10:46
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Arjun @ Dec 9 2017, 12:23)  А в чем проблема-то? Вы её не озвучили. Тогда что обсуждать? Проблема как бы ясна. Человек никогда не программировал больше тысячи дивайсов и сам хочет узнать о проблемах возникающих при программировавнии сотен тысяч. Тут сложность в необходимости иметь базу данных, историю, планировать и редактировать график апгрейдов, технологию защищенных каналов, работать в реальном времени и параллельно и все это сделать не выходя за границы наработанных шаблонов и не меняя платформы. В такой постановке задача действительно не решается. Amazon для этого предлагает выделенный локальный сервер на сложном стеке с поддержкой в облаках и собственный фреймворк, но разработчику придется сильно напрячься.
|
|
|
|
|
Dec 9 2017, 12:33
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(Огурцов @ Dec 8 2017, 17:02)  Цитата(gosha-z @ Dec 8 2017, 16:55)  нужно только удостовериться в факте того, что прошивка получена из надежного источника нет и ещё раз нет т.е. это конечно хорошая фича, но далеко не главная главное - удостовериться, что прошивка ушла в надёжный приёмник а в случае, если приёмник станет ненадёжным (прошивка от него ушла в мир), иметь возможность прекратить иметь с ним дело, сохранив, однако, возможность поддержки других клиентов хотя бы как вариант - не этой, но следующей версией Цитата(Огурцов @ Dec 9 2017, 12:47)  и не сможете отключить клиентов выборочно от обновления даже если это не злоумышленник И при этом вы говорили, что желательно без on-line канала связи, прошивка в виде файла на локальном носителе. В такой постановке вопроса это совершенно не реализуемо. Урезайте хотелки  В бутлодере нереально хранить много ключей. И нужно иметь ввиду, что стоимость чтения вашего бутлодера прямо с кристалла обычного контроллера нынче всего несколько кило$ И он будет скомпроментирован. Надо плясать отсюда. Уровень "параноидальной" безопасности очень сложен и дорог. Лучше всего быть подобным Неуловимому Джо, который нафиг никому не нужен
|
|
|
|
|
Dec 9 2017, 12:52
|
Частый гость
 
Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612

|
Цитата(Огурцов @ Dec 9 2017, 13:47)  и не сможете отключить клиентов выборочно от обновления даже если это не злоумышленник По моему мнению шифрование предназначено: 1. Для предотвращения копирования устройств третьими лицами. 2. Для обеспечения невозможности внесения несанкционированных изменений в ПО. Идентификация клиентов и, соответственно, индивидуальное обновление ПО определяется другими параметрами. Эти параметры всегда можно прочитать с устройства и эти же параметры входят в заголовок прошивки. Идентификация по заголовку как минимум обеспечивает: 1. Прошивка одного клиента не подходит другому клиенту. 2. Прошивка для одного типа устройств не подходит к другому типу устройств. Т.е. возможность не выпускать новое обновление для конкретного клиента существует. Но мне в этом плане проще, так как у меня клиентов меньше десятка. Это достаточно крупные компании, закупающие наше оборудование. Если бы пришлось заниматься розничными продажами, возможно подход был бы другой. Цитата(Baser @ Dec 9 2017, 15:33)  Лучше всего быть подобным Неуловимому Джо, который нафиг никому не нужен  +1 Не ломите цены и постоянно развивайте функционал. Если стоимость вхождения в бизнес высока, а потенциальная прибыль невелика, то никто к Вам и не полезет и взламывать не будет. А если где то цены космические, то я и взламывать ничего не буду, а разработаю аналогичное устройство, напишу софт с нуля, и выйду на рынок.
Сообщение отредактировал amiller - Dec 9 2017, 13:02
|
|
|
|
|
Dec 9 2017, 13:47
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(Baser @ Dec 9 2017, 13:33)  В бутлодере нереально хранить много ключей. допустим, в одном бутлоадере можно хранить ключей на 1000 клиентов вот только не понятно, зачем, поясните ? Цитата(Baser @ Dec 9 2017, 13:33)  И нужно иметь ввиду, что стоимость чтения вашего бутлодера прямо с кристалла обычного контроллера нынче всего несколько кило$ И он будет скомпроментирован. тогда в чём противоречие ? скомпрометировался один клиент - ну и чорт с ним, мы его вычеркнули и забыли про него хотите скомпрометировать дальше - платите ещё несколько тысяч баксов, наздоровье
Сообщение отредактировал Огурцов - Dec 9 2017, 13:47
|
|
|
|
|
Dec 9 2017, 14:32
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(Огурцов @ Dec 9 2017, 15:47)  допустим, в одном бутлоадере можно хранить ключей на 1000 клиентов вот только не понятно, зачем, поясните ? Так это вы сами в начале темы об этом говорили. Это мне надо вас спрашивать. Цитата тогда в чём противоречие ? скомпрометировался один клиент - ну и чорт с ним, мы его вычеркнули и забыли про него хотите скомпрометировать дальше - платите ещё несколько тысяч баксов, наздоровье Тогда кроме варианта с уникальными ключами и уникальным бутлодером для каждого клиента я ничего и не вижу. Если хотите реализовать желание: "этому дала, этому дала, а этому не дала".
|
|
|
|
|
Dec 12 2017, 03:21
|
Частый гость
 
Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612

|
Цитата(Kabdim @ Dec 11 2017, 11:15)  Класная позиция пока у вас в устройстве нет линукса, девайсы не гуляют в ретейле и применение девайсов умеренно безответственное. Если продажи 100500 и большая часть из списка выше неверна - обновления должны быть принудительными. Даже Microsoft до последнего времени оставляла клиентам возможность выбора, обновляться или нет. В десятке обновления отключить сложнее, но можно. А кто я такой, чтобы навязывать обновление своих устройств? Версии с критическими ошибками во внешний мир не уходят. А исправление мелочей и добавление функционала - личное дело каждого.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|