先週はライトニングを利用したIoT機器を電子工作する、という内容の記事を書かせていただきましたが、今回はそれと関連して「LNを活用したIoT機器へのソフトウェアアップデートの配信」に関する、Sensorsという科学ジャーナルに今月掲載されたばかりの論文を紹介させていただきます。

IOT機器のセキュリティ上の弱点

IoT機器にはセキュリティ上の懸念があると良く言われます。特に低機能で自身をアップデートする機能を持たないもの、例えば照明や家電などは、販売後にセキュリティ上の問題が発見されても回収・アップデートすることが困難なため、クラッキングの標的になってしまう可能性があります。これによって、家庭のネットワーク上の他の機器にまで被害が及ぶ可能性もあります。
また、屋外に設置されているIoT機器の中にはアクセスが困難な位置に存在するものも多く、アップデートをしようと思ってもコストがかさみます。

これらのことから、IoT機器はセキュリティアップデートが施されにくいとされ、一部の人に将来的な脅威として認識されています。実際の攻撃例として、マルウェアに感染したIoT機器がDDoS攻撃(webサイトなどにいろんな場所から大量にアクセスしてサーバーに負荷をかける行為)に利用されたり、監視カメラの映像が盗み見られたりしています。今後は医療機器などのランサムウェアのようなものへの感染も懸念されます。

P4UIOTというソリューション

P4UIoT (pay-per-piece patch update delivery for IoT using gradual release)は今回の論文のタイトルにもなっている、ベンダー以外のノードがIoT機器にパッチを配信することに経済的なインセンティブを加えるという提案です。

IoT機器にパッチを配信するための従来の提案では、ネットワーク構造がベンダーに依存しているため帯域幅などの問題でスケーラビリティの面が非現実的であったり、あるいはネットワーク構造が分散されていてもパッチを他者に配信するインセンティブがなかったり、IoTデバイス自体に仮想通貨ウォレットが必要で攻撃ベクトルを増やしてしまう恐れがありました。今回の提案は、ノードにパッチを配信するインセンティブを与えることと、実際の配信には別のP2Pファイル共有システムを利用する点が特徴です。

BitTorrentなどのP2Pファイル共有システムには「チョーキング」という負のインセンティブ(配信せずに受信のみしているノードは受信の優先順位が低い)によってファイル配信を促す仕組みがありますが、パッチのような不人気なコンテンツを配信させる力は弱いです。そこで、P4UIoTはLNとBitTorrentの両方を利用して、パッチの一部を配信するたびに報酬が得られるようにします。

仕組み

ネットワーク参加者はベンダー(メーカー)、配信者、IoTデバイスの3種類に分けられます。全てLNに接続していますが、IoTデバイス自体にあるのは署名鍵を持つライトクライアントのみです。(性能・コストの問題で)

まず、ブロックチェーン上に各IoTデバイスへのパッチの配信に係る報酬を、各配信者と各IoTデバイス間のLNペイメントチャネルという形で作り、パッチファイルをDSN上で配信者に流します。このとき、対象となるIoTデバイスの公開鍵の一覧もベンダーより与えられます。配信者はパッチファイルがベンダーによるものと確認します。

次に、配信者とIoTデバイスが通信し、そのIoTデバイスがパッチの対象となっていることを確認します。対象だった場合、もしベンダーがまだ配布していれば、ベンダーからダウンロードすることもできますが、配信者からダウンロードすることもできます。DSNの特徴として、ファイルが細かく分割されるので、複数の配信者に接続して並行してダウンロードすることも可能です。

IoTデバイスはパッチをダウンロードするごとに配信者にProof of distributionを渡します。すると、配信者はそのProof of distributionを利用してベンダーがコミットした資金を少し獲得し、獲得でき次第、分割された次の部分を送ることができます。

まとめると、
・資金はベンダーによって、配信者⇔IoTデバイスのLNチャネルとして拠出
・配信者はファイルを配信した対価として少額受け取る
・複数の配信者から並行してダウンロード可能 (スケーラブル)
・ベンダーの関与は最初だけで良い (効率がいい)
・オンチェーンのトランザクションは1つだけ
おわりに

P4UIoTは、今までのIoT機器へのアップデート適用の難しさを、アップデートを配信するインセンティブを作ることで克服しようという提案でした。論文を読んで先行事例と比較した結果、個人的には非常によく出来ているのではないかと感じました。(先行事例の課題を克服することが目的の研究でした)

LNとIoTは相性が良いと言われますが、IoTとP2Pが相性が良いというのが根本的な理由なのではないでしょうか。だとすれば、他にもP2Pと相性の良い領域は基本的にLNと組み合わせると面白いかもしれません。