Blockchain для вбудованих систем

21.08.2018

Blockchain для вбудованих систем

Можливо, найбільш відома для криптовалюти технологія блокування може бути потужним інструментом для вбудованих систем. Відкладіть на мить Біткойн та розгляньте, що забезпечує блокування: перевірену, незмінну запис дій в розподілених системах з надійними можливостями безпеки. При бажанні, фактичний вміст ланцюжка може бути зашифрований, забезпечуючи таємність й цілісність системи.

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

Хоча блокування може бути застосоване в стандартизованих системах, таких як Hyperledger або Ethereum, його також можна використовувати для задоволення конкретних потреб за допомогою настройки систем. Вбудовані системи, швидше за все, будуть використовувати блокування реалізації для задоволення вимог до потужності, продуктивності та функціональності цих систем.

Блок та ланцюг

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

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

Система блокування складається з декількох компонентів. Вона включає в себе: системи, призначені для створення та відправки даних або транзакцій; сервери серіалізації, які обробляють транзакції відповідно порядку; сервери перевірки автентичності, які перевіряють транзакції і створюють офіційні блоки для додавання в блок-ланцюжок; механізм розподілу для перевірених блоків.

Блокування в дії

Як приклад зараженої ділянки розглянемо колишні військові бази на Кейп-Код. Тут, за десятиліття випробувань, розлив палива і боєприпаси забруднили грунт та грунтові води, які потребують відновлення.

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

Кожен датчик приймає поточне значення. Ідентифікатор датчика і тимчасова мітка об’єднують і хеширують його за допомогою закритого ключа датчика, відправляючи ці чотири елементи даних на шлюз з використанням такого протоколу, як MQTT [Message Queuing Telemetry Transport]. Кожен датчик повинен мати унікальну ідентифікацію і закритий ключ; він можуть бути жорстко запрограмований під час виробництва, прошитий або використаний залежно від ступеню подачі в систему.

Шлюз об’єднує дані датчиків в блок і маркує їх. Потім хешує блок за допомогою закритого ключа і відправляє цей об’єднаний блок в бекенд-систему, запущену у хмарі. Надійний зв’язок може бути забезпечений використанням досконалої системи обміну повідомленнями, такої як AMQP [Advanced Message Queuing Protocol], яка інтегрується в складні програми, що працюють в бекенд-системах.

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

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

Після перевірки блоку даних копії відправляються усім учасникам сторін. В результаті кожен об’єкт має свою власну копію і вони можуть незалежно перевіряти джерело даних, контролюючи відсутність змін чи можливість підробки.

Проблеми з криптографією

Однією з проблем використання криптографії є ​​обчислювальні вимоги. Криптографія, що використовується, може бути порівняна з потребами. Наприклад, датчики можуть використовувати простий хеш-алгоритм, такий як SHA-1. Хоча SHA-1 вважається небезпечним, він як і раніше відповідає цьому варіанту використання. Шлюз буде використовувати більш безпечний алгоритм, такий як SHA-256. Сервери перевірки можуть також використовувати SHA-256, але виконувати операцію підпису в спеціальному хеш-алгоритмі HSM (Hardware Security Module).

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

За матеріалами сайту Kontron.

Статьи

10.10.2018

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

01.10.2018

У доступному для огляду майбутньому польові шини не зникнуть з промислової автоматизації, однак стандарт Ethernet для швидкісних мереж (TSN) спільно з незалежним стандартом сумісності (читать далее)