Безпечне підключення Raspberry Pi у великих масштабах

Нещодавно ми випустили значне оновлення нашого програмного забезпечення для налаштування безпечного завантаження — rpi-sb-provisioner, яке спрощує налаштування більш складних образів операційних систем та масштабне розгортання Raspberry Pi Connect.

За багато років роботи інженером-програмістом я завжди вважав, що робота з функцією безпечного завантаження є набагато складнішою, ніж це мало б бути. Тому у 2024 році ми випустили першу версію rpi-sb-provisioner — системи, призначеної для того, щоб допомогти вам налаштовувати операційну систему на пристроях із увімкненим безпечним завантаженням та повним шифруванням диска у простий і передбачуваний спосіб.

З того часу ми отримали чимало відгуків від користувачів, і провайдер значно еволюціонував — від набору скриптів оболонки та інструментів до системи з виробничою базою даних, журналом аудиту та веб-інтерфейсом. Кожна зміна була спрямована на вирішення конкретної проблеми користувачів.

Звісно, створення пристроїв і проєктів на базі Raspberry Pi — це не лише встановлення операційної системи на систему; нам також довелося навчити rpi-sb-provisioner коректно взаємодіяти з нашими іншими інструментами.

Інтеграція Raspberry Pi Connect

Користувачі й надалі повідомляють нам, наскільки корисним для них є Raspberry Pi Connect для віддаленого управління своїми пристроями. Однак під час масового налаштування пристроїв ви не можете дозволити собі втрачати час на ручне прив’язування кожного з них; крім того, вам потрібно, щоб ці прив’язки зберігалися навіть після оновлень операційної системи, відновлення заводських налаштувань тощо.

У версії 2.3 rpi-sb-provisioner реалізовано підтримку нової функції ідентифікації пристроїв у Raspberry Pi Connect for Organisations, що дозволяє автоматично присвоювати вашим пристроям незмінну ідентифікацію та прив’язувати їх до вашого облікового запису в Raspberry Pi Connect for Organisations.

Гнучке налаштування описів зображень

У попередніх версіях rpi-sb-provisioner передбачалося, що ви створили традиційний образ на основі Raspberry Pi OS за допомогою pi-gen. Однак після першого випуску ми отримали низку запитань від користувачів, які хотіли налаштовувати більш складні конфігурації або створювати образи більш зручним способом. Щоб задовольнити обидві потреби, ми впровадили функцію створення образів на основі опису (IDP) у rpi-image-gen, яка тепер інтегрована у версію 2.3 rpi-sb-provisioner.

Функція опису образів перетворює rpi-sb-provisioner із засобу розгортання з фіксованими функціями на повністю програмовану систему розгортання, що дозволяє задавати широкий спектр схем розміщення розділів, їх типів та інших атрибутів. IDP також можна використовувати для розгортання операційних систем, які не були створені за допомогою rpi-image-gen: якщо ви можете описати систему, ви можете її розгорнути.

Вікно вибору образу ОС у rpi-sb-provisioner 2.3; артефакти IDP містять розширені метадані, що допоможуть вам вибрати правильний образ і перевірити правильність ваших припущень перед запуском у виробництво.

Використання rpi-fw-crypto

З випуском rpi-fw-crypto пристрої Raspberry Pi тепер мають механізм використання асиметричної криптографії без надмірного розкриття унікального для пристрою приватного ключа, записаного програмою rpi-sb-provisioner. Ми використовуємо цю функцію у двох основних сферах:

  1. На сервері провізіонування — для шифрування та прив’язки матеріалів для підписання (файлу у форматі PEM або PIN-коду HSM) до сервера провізіонування.
  2. На підготовлених пристроях — як частина даних, що використовуються для обчислення ключа повного шифрування диска, або за допомогою наданого середовища автентифікації перед завантаженням, або за допомогою середовища, створеного вами за допомогою rpi-image-gen.
Приклад ключа, доданого до опцій вибору ключів безпечного завантаження в rpi-sb-provisioner 2.3; хеш ключа та стан шифрування відображаються, щоб ви могли переконатися, який саме ключ записується на пристрої.

Продовження слідує...!

Система rpi-sb-provisioner буде й надалі розвиватися, щоб відповідати потребам користувачів. Ваші відгуки про цей інструмент — про те, як він вам допоміг або не допоміг, а також просто історії, здобуті важкою працею під час масового виробництва пристроїв, — допомагають нам вдосконалювати систему для наших клієнтів: як для представників промисловості, так і для розробників вбудованих систем та ентузіастів.

Дізнайтеся більше про масштабне налаштування Raspberry Pi Connect у нашій документації щодо масового налаштування.

rpi-sb-provisioner, rpi-fw-crypto та rpi-image-gen — це проекти з відкритим кодом, доступні на нашій сторінці з джерелами програмного забезпечення.