コンピューティングにおいて、自己認証ファイルシステム(SFS )は、 Unix系オペレーティングシステム向けのグローバルかつ分散型のファイルシステムであり、通信の透過的な暗号化と認証も提供します。あらゆる利用可能なサーバーへの均一なアクセスを提供することで、普遍的な分散ファイルシステムとなることを目指していますが、SFSクライアントの普及率が低いため、その有用性は限られています。SFSは、2000年6月に発表されたDavid Mazières氏の博士論文で開発されました。
SFSクライアントデーモンは、オペレーティングシステムとの通信にSun のネットワーク ファイルシステム(NFS) プロトコルを実装しているため、Windowsを含む NFS をサポートするあらゆるオペレーティングシステムで動作します。[ 1 ]クライアントは、必要に応じてリモート ファイルシステムへの接続を管理し、一種のプロトコル変換レイヤーとして機能します。SFS サーバーは、他の分散ファイルシステム サーバーと同様に、特定の SFS プロトコルを介して既存のディスク ファイルシステムをネットワーク上に公開します。Unixライクなシステムでは、SFS ファイルシステムは通常/sfs/hostname:hostIDにあります。このパスを介して SFS ファイルシステムに初めてアクセスすると、サーバーへの接続が確立され、ディレクトリが作成されます (「自動マウント」されます)。
このファイルシステムの主な目的は、大規模組織におけるハードワイヤードで管理的に構成された分散ファイルシステムや、さまざまなリモートファイル転送プロトコルの欠点を解消することです。これは、別々の管理領域間で安全に動作するように設計されています。たとえば、SFS を使用すると、すべてのファイルを単一のリモート サーバーに保存し、特別な権限や管理者の協力なしに (SFS クライアント デーモンを実行する以外に)、ローカルに保存されているかのように、どの場所からでも同じファイルに安全かつ透過的にアクセスできます。利用可能なファイルシステムは、物理的な場所に関係なく同じパスで見つかり、パス名にはサーバーの公開鍵のフィンガープリントが含まれているため、暗黙的に認証されます (そのため、「自己認証」と呼ばれています)。[ 2 ]
SFSは、新たな視点に加え、他の分散ファイルシステムでよく指摘されるいくつかの制限事項にも対応しています。例えば、NFSおよびSMBクライアントはファイルシステムのセキュリティポリシーをサーバーに依存する必要があり、NFSサーバーは認証をクライアントコンピュータに依存する必要があります。そのため、コンピュータ1台が侵害されると組織全体のセキュリティが侵害される可能性があるため、セキュリティが複雑化することがよくあります。また、NFSおよびSMBプロトコルは、IPsecなどのカプセル化レイヤーがない限り、ネットワーク上の他のコンピュータからの機密性(暗号化)や改ざん耐性を単独では提供しません。
CodaやAFSとは異なり、SFSはリモートファイルのローカルキャッシュを提供しないため、ネットワークの信頼性、遅延、帯域幅に大きく依存します。