読み方 : スプネゴ
SPNEGO【Simple and Protected GSS-API Negotiation Mechanism】
概要

認証の仕組みには複数の方式が存在するため、クライアントとサーバがそれぞれ異なる方式を前提に通信を開始すると認証が成立しない。SPNEGOは双方が対応している認証メカニズムを交渉によって決定する「ラッパー」として機能する。実際の認証処理そのものはSPNEGOが担うのではなく、合意した認証方式に処理を委ねる。
SPNEGOは「GSS-API」(Generic Security Services Application Program Interface)という汎用的なセキュリティAPIの上に構築されている。これは異なる認証メカニズムを統一的なインターフェースで扱うための規格であり、SPNEGOはその拡張としてIETFによってRFC 4178として標準化されている。実際に使用される認証方式としては、「Kerberos((ケルベロス)が最も一般的であり、Windows環境のActive Directoryと組み合わせたシングルサインオン(SSO)の実現に広く用いられる。
具体的な利用場面として代表的なのが、WebブラウザとWebサーバ間のHTTP認証である。「統合Windows認証」(Integrated Windows Authentication)と呼ばれる仕組みでは、SPNEGOがHTTPの認証ヘッダーを通じてネゴシエーションを行い、利用者がIDとパスワードを入力することなく、Windowsのログイン情報を使って自動的に認証が完了する。Microsoft Edge、Google ChromeなどのブラウザがこのSPNEGOベースの認証に対応しており、Webベースの社内システムへのシームレスなアクセスを実現する手段として企業内の業務システムで広く活用されている。