「ALPN」の版間の差分
提供: セキュリティ
(ページの作成:「ALPN (Application Layer Protocol Negotitation)とは、TLS拡張です。TLSハンドシェイクの後のアプリケーションレイヤーのプロトコ...」) |
|||
行40: | 行40: | ||
| | | | ||
|} | |} | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
* [[TLS]] | * [[TLS]] | ||
* [[SPDY]] | * [[SPDY]] | ||
− | * | + | * NPN (Next Protocol Negotiation) |
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2016年1月11日 (月) 21:27時点における最新版
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で通信 | ←→ |