「ALPN」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「ALPN (Application Layer Protocol Negotitation)とは、TLS拡張です。TLSハンドシェイクの後のアプリケーションレイヤーのプロトコ...」)
(相違点なし)

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 が暗号化されません。
  • プロトコルが決定してから、クライアント証明書が提出できます。
ALPN
クライアント 通信 サーバ
ClientHELLO + ALPN拡張,

プロトコルリストをサーバに送信 http/2.0,spdy/3.1,http/1.1

ServerHello + ALPN拡張

サーバ側でプロトコルを決定し、通知する spdy/3

TLS証明書、暗号化情報交換
HTTP/2.0で通信 ←→

関連項目