Найкращі практики безпечного оновлення по повітрю [закрито]


8

Яких найкращих практик безпеки слід дотримуватися при видачі оновлення OTA на флот пристроїв IoT? Які суттєві причини для занепокоєння?

Наприклад,

  • запобігання перехопленню оновлення
  • слідуючи встановленим стандартам
  • платформи для розповсюдження програмного забезпечення
  • автоматичні оновлення порівняно з додатковими оновленнями

5
Це запитання занадто широке, щоб добре відповідати питанням і запитам.
Шон Хуліхане

1
@SeanHoulihane, я звузив увагу до безпеки OTA. Як це виглядає зараз?
Ноам Хакер

2
Він все ще досить широкий, оскільки кожна точка кулі може бути самостійним питанням. Навіть лише для останнього пункту перевірки успіхів ви могли написати про це цілу книгу.
Дом

1
Я б погодився з Домом. Краще взяти один з аспектів OTA (наприклад, забезпечення надійного результату). Вже тоді є багато відповідей. В ідеалі на запитання потрібно мати лише один-два високоякісних відповіді, щоб ви могли визнати, що його "відповіли".
Шон Хуліхане

1
редагувати заголовок теж?
Шон Хуліхане

Відповіді:


10

Це питання занадто широке, але враховуючи, що ви пропустили найважливіше, я відчуваю, що мені потрібно вирішити питання.

Аутентифікуйте оновлення .

Якщо ви хочете переконатися, що на ваших пристроях працює ваш код, тоді вам потрібна автентифікація, а не шифрування. Шифрування гарантує, що інші люди не можуть знати, що у вашому коді, а це важко досягти і рідко корисно. (Ви можете зашифрувати, але якщо ключ дешифрування є на пристрої, ви нічого не отримали, якщо у вас немає способу захисту ключа розшифрування, який не дозволяє вам захищати код безпосередньо.) Автентичність - це властивість, яку мають інші люди не може створити підроблене оновлення, і це властивість зазвичай бажано.

Зауважте, що шифрування не допомагає автентичності. Це помилкова думка, яку іноді мають люди, які насправді не розуміють безпеку, але це просто неправда.

Для деяких пристроїв добре запускати будь-яку прошивку, якщо власник цього захоче. У такому випадку вам все ще потрібен якийсь механізм для того, щоб тільки власник пристрою міг встановити мікропрограмне забезпечення, а не якийсь випадковий перехожий. Як правило, це означає, що пристрій повинен автентифікувати оновлення як те, що надходить від зареєстрованого власника.


Це насправді не правильно. Шифрування не дуже важко домогтися, і це лише "рідко корисне". Крім того, таке шифрування "не допомагає справжньому" є лише напівправдивим. Більшість сучасних режимів шифрування, як-от GCM, насправді є так званими схемами "автентифікованого шифрування", що поєднують в собі автентичність та конфіденційність.
мат

@mat Я змінив це речення, щоб воно було формально правильним. Шифрування - це не важко, але я розраховував на конфіденційність, що важко. Шифрування не дає вам конфіденційності, якщо ви не в змозі зберегти ключ конфіденційним. Шифрування зовсім не допомагає автентичності. Якщо ви використовуєте автентифіковане шифрування, воно дає вам обом, але факт, що він включає шифрування, не допомагає отримати автентичність.
Жиль "ТАК - перестань бути злим"

Якщо ваш ключ просочиться, кожна криптовалюта втрачає свою корисність, будь то конфіденційність або автентифікація. Якщо є сенс використовувати шифрування незахищеним ключем на пристрої, це залежить від вашої моделі загрози (доступність пристрою, здібності супротивників)
мат.

@mat Ні. Насправді я мав би відреагувати на це зауваження GCM у своєму попередньому коментарі. GCM - це не гідний спосіб трансляції оновлень, оскільки це означає, що справжність перевіряється клавішним класом. Якщо ви не створюєте сильно загартовану платформу (наприклад, смарт-картку), клас класу такий же хороший, як і загальнодоступний. Оновлення повинні використовувати асиметричну криптографію. Таким чином, для розгортання підробленого оновлення на пристрій цей конкретний пристрій потрібно порушити: щоб створити підроблене оновлення, яке працює скрізь, зловмиснику потрібно буде зламати сервер або протокол, і вони, як правило, краще захищені, ніж пристрої в поле.
Жил "ТАК - перестань бути злим"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.