「ALPN」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「ALPN (Application Layer Protocol Negotitation)とは、TLS拡張です。TLSハンドシェイクの後のアプリケーションレイヤーのプロトコ...」)
 
 
行40: 行40:
 
|  
 
|  
 
|}
 
|}
 
 
== 関連項目 ==
 
== 関連項目 ==
 
* [[TLS]]
 
* [[TLS]]
 
* [[SPDY]]
 
* [[SPDY]]
* [[NPN]](Next Protocol Negotiation)
+
* 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 が暗号化されません。
  • プロトコルが決定してから、クライアント証明書が提出できます。
ALPN
クライアント 通信 サーバ
ClientHELLO + ALPN拡張,

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

ServerHello + ALPN拡張

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

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

関連項目

  • TLS
  • SPDY
  • NPN (Next Protocol Negotiation)