Подсистема Blockchain в протоколе IRC-IoT
Сообщения в протоколе IRC-IoT должны иметь ряд идентификаторов, таких как mid (Message ID), oid (Object ID), did (Datum ID). Основное предъявляемое требование к этим полям - это, уникальность. Необходимо, чтобы в рамках текущего обмена данными, значения этих полей не повторялось, а связка отправитель, NickName, поля «src» (Source address) и уникальный идентификатор, четко указывали на сообщение, на которое в дальнейшем ссылаются или на которое отвечают. Однако, в IRC-IoT может быть задействован механизм криптографической защиты, основанной на криптосистеме с открытым ключом. Каждый из участников сети «IoT-Bot», может опубликовать свой открытый ключ, и разместить его на специальном IRC сервисе CRS (Сryptography Repository Service), таким образом, чтобы подписанные им сообщения и объекты в протоколе IRC-IoT могли перепроверить другие участники сети.
Основой, для применения элементов Blockchain - является постоянный обмен IoT-Bot сообщениями межу собой. Если выстроить передаваемые сообщения в некоторую последовательность, то каждое последующее сообщения в режиме криптографической защиты должно быть подписано, путём размещения уникального идентификатора, формируемого необратимой криптографической функцией, которая создается и настраивается исходя из сертификата, создающего сообщение IRC-IoT, пользователя или IoT-Bot. Объектом для подписи, является компиляция, из вновь формируемого сообщения и уникального идентификатора предыдущего сообщения, собственного, либо того, на который производится ответ. Таким образом, подпись сообщения или объекта, подкрепляется многократной историей и серией пересекающихся подписей разных участников сети. Часть обмена производится публично, а часть может уходить в приватный обмен данными (PRIVMSG NickName), что должно учитываться при выстраивании публичного обмена.
Не протоколируемый приватный обмен данными должен иметь тупиковую ветвь криптографических подписей,
однако участник IRC-IoT
сети может сохранить его самостоятельно.
Проверка подписи IRC-IoT сообщений осуществляется при помощи публичного ключа,
публикуемого участником IRC-IoT сети, через специальный IRC-сервис
CRS (Сryptographic Repository Service) который, в свою очередь, подписывает публичный ключ участника собственным приватным ключом.
Техническое сообщение от CRS сервиса, содержащее публичный ключ какого-либо участника, является
сертификатом для проверки цепочек обмена IRC-IoT сообщениями (IRC-IoT Blockchain)
данного участника. Для обмена публичными ключами протоколом IRC-IoT
определены следующие служебные объекты:
сообщение с Object Type = bchreq (Blockchain Request)
запрос публичного ключа конкретного участника IRC-IoT сети
сообщение с Object Type = bchack (Blockchain Acknowledgment)
ответ, содержащий запрашиваемый публичный ключ
сообщение с Object Type = bchnfo (Blockchain Information)
публикация открытого ключа участника IRC-IoT сети,
не вызванная запросом данного ключа, периодически выдаётся либо самим участником (самоподписанный сертификат), либо CRS сервисом, в случае, если
участник IRC-IoT сети разместил на сервисе новый, либо обновил старый
публичный ключ для " IRC-IoT Blockchain"
Для проверки IRC-IoT сообщения – элемента
"IRC-IoT Blockchain" цепи, помимо сертификата содержащего публичный ключ участника - автора сообщения и тела самого
сообщения, необходимо иметь содержимое поля "mid" (Message ID) предыдущего сообщения, на которое производился ответ
данным сообщением. Такую информацию можно собирать самостоятельно либо запросить у других сервисов или роботов,
таких как "LogBot".
|
© 2018–2020 Алексей Воронов, Все права защищены.
|