Перейти к содержанию
    

обновление прошивки в 100500 vs 100..500 девайсах

У меня проблем слишком большого количества клиентов нет, но в принципе считаю, что проблемы обновления миллиона прошивок лучше переложить на миллион клиентов.

Есть загрузчик, содержащий ключи шифрования, в устройстве, залоченном на предприятии.

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

Клиенты сами всё это скачивают и заливают. Для особо одаренных есть видеоролик с пояснениями.

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

А задача публичной программы для прошивки - передать загрузчику зашифрованную прошивку без каких либо преобразований.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня проблем слишком большого количества клиентов нет, но в принципе считаю, что проблемы обновления миллиона прошивок лучше переложить на миллион клиентов.

Есть загрузчик, содержащий ключи шифрования, в устройстве, залоченном на предприятии.

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

Клиенты сами всё это скачивают и заливают. Для особо одаренных есть видеоролик с пояснениями.

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

А задача публичной программы для прошивки - передать загрузчику зашифрованную прошивку без каких либо преобразований.

+1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так системы шифрования не строят - скомпрометируется один девайс и все последующие версии прошивки будут скомпрометированы

 

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

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть загрузчик, содержащий ключи шифрования, в устройстве, залоченном на предприятии.

предлагаете прошить одинаковый ключ во все девайсы ?

 

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

я тут каким боком ? я про клиента-злоумышленника говорю

 

 

в общем, я тут поразмышлял и решил, что в заданных ограничениях задача неразрешима

 

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я тут каким боком ? я про клиента-злоумышленника говорю

 

Используйте контроллеры с механизмом подписи с встроенным криптобутом. Я пока не слышал о взломе таких МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

предлагаете прошить одинаковый ключ во все девайсы ?

Если речь идёт о ключе шифрования, то да, я использую один сложный ключ для всех устройств, в которых предусмотрен механизм удаленной замены прошивки.

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

Используется уже более 5 лет (около двух десятков видов устройств общим тиражом тысяч тридцать, наверное) и пока о случаях взлома ничего неизвестно.

Но кроме ключа шифрования есть ещё различные опции, которые характеризуют устройства и версию ПО.

Это идентификатор устройства, версия ПО, идентификатор клиента и ещё некоторые опции специализации.

Такая же информация находится в заголовке прошивки, который не зашифрован, но защищен от изменения зашифрованным ключом.

Заголовок использует программа загрузки, которая реализует интерфейс с пользователем, и принимает предварительное решение о том, подходит ли данная прошивка для данного устройства/клиента.

А окончательное решение о возможности заливки ПО принимает уже загрузчик в устройстве.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

обновление прошивки в 100500 vs 100..500 девайсах

давайте обсудим логику работы системы и самого процесса

исходя из того, что как обновлять прошивку в 100..500 девайсах вопросов не вызывает

А в чем проблема-то?

Вы её не озвучили. Тогда что обсуждать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в чем проблема-то?

Вы её не озвучили. Тогда что обсуждать?

Проблема как бы ясна.

Человек никогда не программировал больше тысячи дивайсов и сам хочет узнать о проблемах возникающих при программировавнии сотен тысяч.

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

В такой постановке задача действительно не решается.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если речь идёт о ключе шифрования, то да, я использую один

и не сможете отключить клиентов выборочно от обновления

даже если это не злоумышленник

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нужно только удостовериться в факте того, что прошивка получена из надежного источника
нет и ещё раз нет

т.е. это конечно хорошая фича, но далеко не главная

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

а в случае, если приёмник станет ненадёжным (прошивка от него ушла в мир), иметь возможность прекратить иметь с ним дело, сохранив, однако, возможность поддержки других клиентов

хотя бы как вариант - не этой, но следующей версией

и не сможете отключить клиентов выборочно от обновления

даже если это не злоумышленник

И при этом вы говорили, что желательно без on-line канала связи, прошивка в виде файла на локальном носителе.

 

В такой постановке вопроса это совершенно не реализуемо.

Урезайте хотелки :)

 

В бутлодере нереально хранить много ключей.

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

И он будет скомпроментирован. Надо плясать отсюда. Уровень "параноидальной" безопасности очень сложен и дорог.

 

Лучше всего быть подобным Неуловимому Джо, который нафиг никому не нужен :biggrin:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и не сможете отключить клиентов выборочно от обновления

даже если это не злоумышленник

По моему мнению шифрование предназначено:

1. Для предотвращения копирования устройств третьими лицами.

2. Для обеспечения невозможности внесения несанкционированных изменений в ПО.

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

Эти параметры всегда можно прочитать с устройства и эти же параметры входят в заголовок прошивки.

Идентификация по заголовку как минимум обеспечивает:

1. Прошивка одного клиента не подходит другому клиенту.

2. Прошивка для одного типа устройств не подходит к другому типу устройств.

Т.е. возможность не выпускать новое обновление для конкретного клиента существует.

Но мне в этом плане проще, так как у меня клиентов меньше десятка. Это достаточно крупные компании, закупающие наше оборудование.

Если бы пришлось заниматься розничными продажами, возможно подход был бы другой.

 

Лучше всего быть подобным Неуловимому Джо, который нафиг никому не нужен :biggrin:

+1

Не ломите цены и постоянно развивайте функционал. Если стоимость вхождения в бизнес высока, а потенциальная прибыль невелика, то никто к Вам и не полезет и взламывать не будет.

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

 

Изменено пользователем amiller

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В бутлодере нереально хранить много ключей.

допустим, в одном бутлоадере можно хранить ключей на 1000 клиентов

вот только не понятно, зачем, поясните ?

 

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

И он будет скомпроментирован.

тогда в чём противоречие ? скомпрометировался один клиент - ну и чорт с ним, мы его вычеркнули и забыли про него

хотите скомпрометировать дальше - платите ещё несколько тысяч баксов, наздоровье

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

допустим, в одном бутлоадере можно хранить ключей на 1000 клиентов

вот только не понятно, зачем, поясните ?

Так это вы сами в начале темы об этом говорили. Это мне надо вас спрашивать.

 

тогда в чём противоречие ? скомпрометировался один клиент - ну и чорт с ним, мы его вычеркнули и забыли про него

хотите скомпрометировать дальше - платите ещё несколько тысяч баксов, наздоровье

Тогда кроме варианта с уникальными ключами и уникальным бутлодером для каждого клиента я ничего и не вижу.

Если хотите реализовать желание: "этому дала, этому дала, а этому не дала".

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Клиенты сами всё это скачивают и заливают.

Класная позиция пока у вас в устройстве нет линукса, девайсы не гуляют в ретейле и применение девайсов умеренно безответственное. Если продажи 100500 и большая часть из списка выше неверна - обновления должны быть принудительными.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Класная позиция пока у вас в устройстве нет линукса, девайсы не гуляют в ретейле и применение девайсов умеренно безответственное. Если продажи 100500 и большая часть из списка выше неверна - обновления должны быть принудительными.

Даже Microsoft до последнего времени оставляла клиентам возможность выбора, обновляться или нет. В десятке обновления отключить сложнее, но можно. А кто я такой, чтобы навязывать обновление своих устройств?

Версии с критическими ошибками во внешний мир не уходят. А исправление мелочей и добавление функционала - личное дело каждого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...