研究内容 >> ブロック・チェーンに基づいたIoTアクセス制御

ブロック・チェーンに基づいたIoTアクセス制御

Wi-Fi,Zigbee,Bluetoothに代表されるネットワーク通信技術の急速な発展により,センサやユーザ・デバイス等のますます多くのオブジェクトがユニークなアドレッシングスキーム(例えば, インターネット)を介して相互接続され,モノのインターネット(IoT)が形成されようとしています.このような相互接続は,IoT内のすべてのピア間のデータ収集、集約および共有を加速する一方で,脆弱なIoTデバイスを接続することによって,不正なユーザがシステム内のリソースおよびサービスに不法アクセスできるようになり,重大なセキュリティ問題を引き起こす可能性があります. このように,IoTにおけるアクセス制御は非常に重要な研究課題になってきています. 既存のクライアント・サーバ型に代表される集中型アクセス制御方式には,2つの重大な欠点があります.ひとつ目は,アクセス制御ノードが敵対者によって侵害され,信頼できないアクセス制御をエンドユーザに提供する可能性があることです.もうひとつは,アクセス制御ノードが自然災害や人為的災害で破壊されることによって,アクセス制御方式が機能しなくなる可能性があることです.IoTシステムにおける不正アクセスを防止するため,信頼できる分散的なアクセス制御方式が緊急の課題となってきています.近年,ビットコインやイーサリアム等の基盤技術であるブロック・チェーンが,信頼できないピア間で信頼性の高い分散コンピューティングを実現するアプローチとして注目を集めています.本研究ではブロック・チェーンを基にしたスマートコントラクトを利用して,莫大な数の信頼できないセンサ・デバイス群で構成されるIoTシステム上で,信頼できる分散アクセス制御方式を実現することを目標としています.

IoTアクセス制御例

ガス検知器,アラーム,スマートフォンを備えた簡単なIoTシステムを考えます. スマートフォンはガス検出器からガス漏れ情報を取得し,ガス検出器にコマンドを送信してガスを遮断することができます.アラームはガス検出器からガス漏れ情報を取得し,警報を発することができますが,ガス検出器にコマンドを送ることはできません.これは典型的なアクセス制御シナリオとして考えることができます.このシナリオでは,ガス検出器はガス漏れ情報とガスを遮断する機能をリソースとして提供するオブジェクト,スマートフォンおよびアラームはガス検出器からのリソースにアクセスするサブジェクトとして考えることができます.アクセス制御を実現するには,三つの重要なステップを実行する必要があります.最初のステップでは,ガス検出器はスマートフォンとアラームの両方にアクセス権を与える必要があります.スマートフォンにとって,アクセス権はガス漏れ情報を取得し,ガスを遮断することですが,アラームにとっては,アクセス権はガス漏れ情報を取得することのみです.二つ目のステップでは,ガス検出器は,サブジェクトからのアクセス要求を受け取るときにサブジェクトのアクセス権を検証しなければなりません.最後に,ガス検出器は両方のサブジェクトにアクセス結果を戻し,その結果に基づいていくつかの対策をとります.

スマートコントラクトを応用したアクセス制御

スマートコントラクトは,ブロック・チェーンに存在する実行可能なコードとして考えることができます(下図).スマートコントラクトは,多数のアプリケーションバイナリインターフェイス(ABI)を提供し,ブロック・チェーンシステムの任意のピアによって実行できます. ABIに加えて,スマートコントラクトには,コントラクトの状態とみなされるデータも含まれます.各スマートコントラクトはあるアドレスに関連付けられており,このアドレスによって,ブロック・チェーンシステムの任意のピアはこのコントラクトのABIを実行したり,状態を変更したりすることができます. システム内の任意のピアの計算能力がシステム全体の計算能力の半分よりも少ない状況になっている限り,システム内のどのピアもそのABIを意図的に間違った形で実行することができず,結果としてそのスマートコントラクトの機能を改ざんすることができません.本研究はスマートコントラクトのこの特性に基づいて,IoTシステム内の任意のピア間のアクセス制御を実現します.