Holoでのキー管理とソースチェーンエントリの署名
概要
Holoネットワークでのキー管理と認証へのアプローチであるChaperoneを今回は紹介したいと思います。これは、Holochainコアのセキュリティへのフォーカスを維持しながら、HoloがホストするhAppsへのアクセスの利便性を維持する安全なiFrameです。
トピック
- Chaperone:ホロでのキー管理とソースチェーンエントリの署名
詳細
Chaperone:ホロでのキー管理とソースチェーンエントリの署名
Holoネットワークは、いくつかの点でHolochainコアのように機能しますが、他の点では従来のクライアントサーバーWebアプリケーションに似ています。これにより、この環境で実際にどのように様々なものが機能するかについていくつかの疑問をお持ちになるかもしれません。今日は、「Chaperone iFrameを使用して、Holoでキーや認証はどのように機能しますか?」という質問を解いていきましょう。
先ほど述べたように、Holoは従来のWorld Wide Webと新しい分散型インターネットの架け橋となるように設計されました。 HoloPortはHolochainに一貫した分散型の方法でエントリーを保存および伝播しますが、アプリのユーザーは通常のWebブラウザーを使用してホストされたhAppを使用できます。他のWebサイトと同じように、ユーザーが行う必要があるのは、ユーザー名とパスワードでログインすることだけです。そしてまた、接続はエンドツーエンドで暗号化されています(TLSは、HoloゲートウェイではなくHoloPortで終了します)。
UIを含む他の静的アセットは、どこからでも提供できます。重要なのは、ハードウェアウォレット、キーストアファイル、またはBitcoinなどの分散ネットワークへのアクセスに通常関連するその他のものに対する要件が無いことです。これにより、hAppにアクセスするプロセスが非常にユーザーフレンドリーになりますが、セットアップには潜在的な弱点も存在してしまいます。
- 残念ながら、ログインプロセスは、秘密キーを保持することを目的とする中央集権型暗号通貨ウォレットと似ています(表面的なものではありますが)。これらはしばしば詐欺に使用されています。
- ブラウザのUIには、悪意のあるフロントエンドコードが含まれている可能性があります。
- ホストされたhAppのトラフィックは、Holoの分散型ゲートウェイインフラストラクチャを経由する必要があります。このインフラストラクチャには、悪意のある者によって悪用される可能性のあるセキュリティギャップが含まれている可能性がありますが、可能な限り我々は安全性を高めています(SNI、E2E暗号化などで)。
これらの問題に対処するための我々のアプローチは、Chaperoneと呼ばれる安全なiFrameを開発することです。アプリケーションはユーザー名とパスワードからキーを生成し、ブラウザー内で安全に管理します。これは基本的に、Holochainでのキー生成と同じプロセスです。Chaperoneは、すべてのZomeコールと署名も処理します。つまり、hAppのUIはユーザーのログイン情報に直接アクセスできないということです。 HoloホスティングWeb SDKを使用する開発者は、Cross-Origin Message Bus(COMB)ライブラリを介してのみChaperoneと通信します。 COMBは、組み込まれているウィンドウメッセンジャー(window.postMessage)をラップするライブラリであり、request/reply、async/await、およびその他の機能を追加することにより、APIをよりユーザーフレンドリーにします。
したがって、HoloはWebユーザーの認証の責任を負わず、またキーにもアクセスできません。インテグレーション要件を最小限に抑え、潜在的なセキュリティリークについて監査する必要があるアクセスポイントの数を制限します。注:ログイン情報を紛失した場合、Holoにはそれを復元する方法がありません。そのため、紛失のための対策を講じてください。
Chaperoneの機能を確認したい場合は、フロントエンドSDKを使用してローカル開発インスタンスを実行し、ネットワークやHoloPortに接続することなくコンダクターを直接テストできます。パブリックリリースが可能になったら、それを確認することをお勧めします。
Holochain Core Conceptsとチュートリアル
皆さんの意見が聞きたいです!Holochainの理解に最も有益なドキュメントの作成の支援をお願いしたいと思います。Holochain Core Concepts(英語)やチュートリアル(日本語版)をすでに読んだり、完了している場合は、この簡単なスレッドに(日本語で大丈夫です!)回答して、あなたの経験についての感想や、今後あなたをどの様に支援できるか教えてください!
開発ステータス
Holochain Coreリリース: 0.0.40-alpha1| 変更ログ 次リリース:0.0.41-alpha1
Holoscapeリリース:v0.0.4-alpha
Holonixリリース:v0.0.51
Try-o-rama(エンドツーエンドテストツール)リリース:v0.2.0