詳細ストレージアーキテクチャ
Secure Lake テクノロジー
概要
Secure Lake は Iagon の暗号化された、再開可能なファイルストレージと共有のためのストレージレイヤーです。ファイルはネットワークに何も送信される前に、あなた自身のデバイスで暗号化されます。ストレージノードオペレーターは、ネットワーク上で暗号文と不透明な識別子を見るだけで、ファイルの内容や読み取り可能なファイルとフォルダの名前は見えません。そのため、バックエンドシステムが侵害される可能性があっても、それだけでは保存したものや名前を付けたものが露出することはありません。
ネットワーク層では、シャーディングがその大きな部分を担っています。暗号文が分割されてストレージプロバイダーにまたがって配置されるため、単一のノードがあなたの鍵なしで完全に再構築可能なファイルを保持する必要はなく、プロトコルは冗長なフラグメントを保持してそれらを並行して取得できます - それでもプロバイダーはユーザーのファイル本体を復号しません。
この設計は実際のコラボレーションをサポートします。サブスクリプションと自動化、特定の人との共有、きめ細かな権限、ブラウザ、デスクトップアプリ、モバイルアプリ、API からの使用 - ストレージをスクリプト化したり、グラフィカルアプリを開かずに支払いを行う必要がある場合の完全なヘッドレスワークフロー(製品がオンチェーンサブスクリプションと支払いを提供する場所での Cardano ウォレットを使用するフローを含む)を含みます。
以下のセクションでは、Secure Lake が完全な製品としてどのように機能するかを説明します。何を保護するか、共有と権限がどのように動作するか、アップロードとダウンロードが大規模にどのように確実に行われるかです。
プライバシーと整合性
暗号化はクライアントでのみ実行されます。ファイルのペイロードはプレーンテキストとしてデバイスを離れません。トラフィックと保存されたブロブは暗号文です。各ファイルは独自のデータ暗号化鍵を持つため、1つのファイルの問題が残りに影響しません。保存時の機密性は、プロバイダーが保存するものが単一ディスク上のファイル全体の単一コピーではなく、多くの場合シャーディングによって分散された断片的な暗号文であることで強化されます。
復号時に、ソフトウェアは改ざん、破損、または切り捨てを検出します。サイレントに間違ったファイルが届くことはありません - 何かがおかしい場合、復号は明確な方法で失敗します。
非常に大きなファイルは境界のあるメモリで処理されます。一度に1テラバイト全体を RAM にロードすることなく、巨大なオブジェクトを扱えます。必要に応じて、大きなファイルはそのファイルの鍵から派生した複数の暗号化されたセグメントとして表現される場合があります。これにより、ファイルレベルで単純な共有モデルを維持しながら、適切な境界でアップロードを再開できます。これらのセグメント(またはそれらから派生したブロブ)は、いかなるプロバイダーも再構築可能なプレーンテキストを見ることができないようにする同じシャーディングルールの下で、ネットワーク配布と冗長性の候補になります。
組織、名前、検索
通常のフォルダ階層 - デスクトップで期待するような入れ子のフォルダとファイル - で作業します。名前も保護されています。サービスは不透明な識別子と暗号化された命名材料を保存し、ストレージノードオペレーターが通常のディレクトリリストのように読み取れるプレーンテキストのフォルダとファイル名をデータベースに保存しません。
サーバーはデータをフィンガープリントしたり相関させるために使用される可能性があるプレーンテキストのコンテンツハッシュを保持しません。検索は、復号後にクライアントが利用できる情報を使用して、あなたが見ることを許可された名前に対して実行されます - 読み取り可能なファイル名をサーバーに送信することによってではありません。
バルクデータを再暗号化せずに共有
誰かと共有する際、Iagon は受信者ごとのアクセスエンベロープを使用するため、保存されたファイルデータはディスク上の同じバイトのままです。システムはすべての新しい同僚のために大規模なファイルを再暗号化することを強制されません。1人を失効させても他の人のアクセスは自動的に取り除かれません。各受信者のアクセスは独自のエンベロープに含まれています。
フォルダはその下にあるすべてのものに単一の鍵を共有しません。フォルダを共有することは、その中の各ファイルのエンベロープを意味するため、各ファイルは独立した鍵管理を保持します。すでに共有されているフォルダに誰かが新しいファイルを追加すると、アップロードするクライアントはそのフォルダにすでにアクセスできる全員にアクセスを拡張します - 毎回「再度共有する」という手動ステップなしで新しいコンテンツが利用可能になります。
データ暗号化鍵自体は、ストレージノードオペレーターがあなたのファイルを復号するために使用できる形式でサーバー上またはワイヤー上でプレーンテキストとして公開されることはありません。
2層のアクセス制御
アクセスは2つの独立したレイヤーで強制され、両方が重要です:
- サーバー上 - ポリシーがリソースに到達できる人を決定します。あなたのルールの下でそれを一覧表示、暗号文の取得、作成、名前変更、削除などを行えます。
- 暗号化において - エンベロープが鍵をアンラップして復号できる人を決定します。
サーバーアクセスがあってもエンベロープがない人は、リストルールによっては何かが存在することを見る場合がありますが、名前やコンテンツを読めません。エンベロープがあってもサーバー権限のない人は暗号文を取得できません。この多層防御は、どちらかの側が悪用された場合の損害を制限します。
権限は細かく設定されています。リスト、作成、読み取り、書き込み、名前変更、削除は別々の概念です - 1つを付与しても自動的に他が付与されることはありません。
リソースには所有ユーザーと所有グループがあります。ユーザーは複数の名前付きグループに属し、1つの主要グループを持てるため、チームはすべてのファイルを手動で管理することなくツリーを共有できます。デフォルトは拒否です。新しいアイテムはあなたが許可するまで他の人に見えません。
継承、有効期限、委任、オフボーディング
親フォルダのアクセスを失効させると、ツリー全体に適用されるため、子孫はロックダウンしたフォルダと矛盾する古い権限を保持しません。制限されたエリアの深い場所にある単一のファイルをより狭い範囲で共有することはまだできます - 親と子の付与がどのように相互作用するかのルールは一貫して予測可能であるため、管理者と統合者は何を期待するかを知っています。
付与は時間で期限切れになる場合があります。製品がそれを公開する場合、例えば一回限りスタイルのリンクのように、使用回数によって制限される場合もあります。
あなたが持つ権限を他に委任できますが、すでに持っているものを超えることはありません。委任と共有は、クライアントが誰が誰を追加したかを確認できるように構築されています。サービスは偽の受信者をフォルダのアクセスストーリーに静かに注入することはできません。システムは監査と誰かが去る際のチェーンの失効のために付与の明確な系譜を保持します。
人がオフボードまたはアクセスを失う場合、操作は彼らが付与したすべて(ダウンストリームを含む)を失効させるか、それらの付与を再割り当てできます - そのためアクセスが所有者なしでフロートしません。重要な失効と再割り当てアクションはコンプライアンスとトラブルシューティングのために記録されます。
アップロードとダウンロード
中断されたアップロードはバイトゼロから再起動するのではなく、最後に確認された位置から再開されます。サーバーはクライアントに進捗の信頼できる状況を提供するため、両者は継続する場所に同意します。ダウンロードは完了したアップロードに対してのみ完了します - まだ部分的にしか書き込まれていない「完了した」ファイルを取得することはありません。暗号文がプロバイダーにまたがって分散している場合、クライアントはしばしばフラグメントを並行して取得し、復号前に暗号文に冗長性デコードを適用できます - 上記のシャーディングモデルと一致しています。
ドライブ、管轄、バージョン、同期、自動化
データがどこに保存されるか、バージョンをどのくらいの期間保持するかに関するポリシーを設定したドライブに作業を整理できます。管轄制約は、特定の地域にデータを保持する必要があるチームを支援します。
ファイル履歴により、ワークフローにロールバックが必要な場合に以前のバージョンを復元できます。同期は同じポリシーの下でユーザーのデバイス間で許可されたデータを整合した状態に保ちます。
リアルタイムイベントは統合と自動化 - スタックの残りのためのフック - にフィードします。別に、ストレージクォータを他のアカウントに割り当てることができます。そこに置かれたものへのアクセスを得ることなく - 容量に資金を提供するが内容を読まないべき管理者とパートナーに役立ちます。
オープンクライアント、安定した運用
あるプラットフォームで暗号化したファイルは、サポートされているすべてのプラットフォームで機能します。すべての場所で同じ暗号と共有のセマンティクスです。
独立した開発者は Iagon の文書化されたクライアントプロトコルに対して互換性のあるクライアントを構築できます - 新しいプラットフォームは相互運用するためにサーバーの秘密の知識を必要とすべきではありません。
アップロードのパフォーマンスは、高速な暗号化転送から期待されるものと一致しています。再開可能なアップロードは、一般的なプロキシと CDN を通じて適切に動作するよう設計されています。ストレージノード自体は不透明な暗号文を保持します - しばしばシャーディングによって配置されたフラグメントとして。ファイルの内容で分岐したり、あなたの代わりに鍵をアンラップしたりしません。