Skip to content

アクセスコントローラー

アクセスコントローラー(Ocean Protocol の文脈では Provider とも呼ばれます)は、サービス提供のために設計された REST API です。購入者がそのサービスにアクセスする権限を持つかどうかを、一連のチェックによって検証します。アクセスコントローラーはデータソースと利用者の仲介役として機能し、利用者がデータに直接アクセスする必要をなくします。

セキュリティ上の考慮点

セキュリティとデータ主権を最大限に確保するには、アクセスコントローラーのコンポーネントを自前でホストするか、信頼できるサービス事業者を利用することが推奨されます。Compute-to-Data のパラダイムを活用することで、データは所有者の管理下にとどまり、安全なインフラの外に出ることはありません。データ上で実行されるアルゴリズムは監査され、明示的に許可されたものだけが実行されるため、データ漏えいを防げます。

機能

アクセス制御

アクセスコントローラーは、購入者がサービスにアクセスする権限を持つかどうかを、次の一連のチェックで検証します。

  1. アセットのライフサイクル状態を確認し、利用可能であることを検証する
  2. 購入者がアクセストークン(Ocean Protocol のドキュメントでは "datatoken" とも呼ばれます)を購入し、それを消費してデータへのアクセス権を得ているかを確認する
  3. サービスの許可リスト/拒否リストを用いて、サービスへのアクセス制御条件を確認する

アルゴリズムの完全性チェック

Compute-to-Data の機能を利用する際、アクセスコントローラーは計算の実行前に、アルゴリズムと Docker コンテナのハッシュを用いた完全性チェックを行います。これは、監査されていない悪意あるアルゴリズムが実行されるのを防ぐための仕組みです。

カタログメタデータの暗号化・復号

公開者は、信頼できるアクセスコントローラーの暗号化 API エンドポイントを用いて、公開(サービス提供物をブロックチェーンに記録すること)の前にサービスメタデータを暗号化します。

信頼されたメタデータキャッシュコンポーネント(Aquarius)は、アクセスコントローラーの復号 API エンドポイントを呼び出して、ブロックチェーンから取得したメタデータを復号できます。これにより、選ばれた Aquarius インスタンスだけがサービス提供物のメタデータにアクセスできるようになります。

この仕組みによって、非公開のサービスカタログが実現します。

files エンドポイントの暗号化・復号

メタデータ内の files フィールドは、他の部分とは独立して暗号化されます。このフィールドには、データやアルゴリズムのファイルにアクセスするためのエンドポイント情報が含まれます。メタデータオブジェクト全体(Ocean Protocol の文脈では DDO とも呼ばれます)を暗号化する 1 段階前に暗号化され、サービス利用時にアクセスコントローラーによって復号されます。つまり、エンドポイントの詳細が暗号化されないままアクセスコントローラーの信頼領域の外に出ることはありません。

コンピュートサービス

アクセスコントローラーは、接続されたコンピュート環境のハードウェア情報(CPU、RAM、GPU)、価格、空き状況を提供します。

関連ドキュメントとリポジトリ

Ocean Protocol ドキュメント: https://docs.oceanprotocol.com/developers/provider

Provider のリポジトリ: https://github.com/OceanProtocolEnterprise/provider

API

一般的なエンドポイント: https://docs.oceanprotocol.com/developers/provider/general-endpoints

暗号化・復号: https://docs.oceanprotocol.com/developers/provider/encryption-decryption

コンピュート関連エンドポイント: https://docs.oceanprotocol.com/developers/provider/compute-endpoints

認証関連エンドポイント: https://docs.oceanprotocol.com/developers/provider/authentication-endpoints