「ALPN」の版間の差分
提供: セキュリティ
(相違点なし)
|
2014年11月2日 (日) 13:33時点における版
ALPN (Application Layer Protocol Negotitation)とは、TLS拡張です。TLSハンドシェイクの後のアプリケーションレイヤーのプロトコルをサーバとクライアントでネゴシエーションするために使用します。HTTP/2.0で、SSLハンドシェイクを行う場合に、ネゴシエーションすることが検討されています。
読み方
- ALPN
- えーえうぴーえぬ
- Application Layer Protocol Negotitation
- あぷりけーしょん れいやー ぷろとこる ねごしえーしょん
概要
ALPNは、OpenSSLの1.0.2(1.0.1から1.0.2) からサポートされています。
- 使用できるプロトコルリストをクライアントが提示し、サーバが選択します。
- 選択できるプロトコルがリストに存在しない場合、ハンドシェイクアラート(handshake alert)を通知して切断します。
- Selected Protocol が暗号化されません。
- プロトコルが決定してから、クライアント証明書が提出できます。
クライアント | 通信 | サーバ |
---|---|---|
ClientHELLO + ALPN拡張,
プロトコルリストをサーバに送信 http/2.0,spdy/3.1,http/1.1 |
→ | |
← | ServerHello + ALPN拡張
サーバ側でプロトコルを決定し、通知する spdy/3 | |
← | TLS証明書、暗号化情報交換 | |
HTTP/2.0で通信 | ←→ |