CyberSEALs’s diary

セキュリティをカッコよく!を合言葉にセキュリティ関連の情報発信していきます!

HTTP3のこれだけは知っておきたい!

<HTTP3のこれだけは知っておきたい!>

今回のテーマですが、皆様はお聞きになったことがありますでしょうか?

昨年の9月にGoogle ChromeCDNのCloudflareがサポートしたというリリースもありご存知の方もいらっしゃるのではないでしょうか(^^♪ 

今回はこのHTTP3について、最低限知っていたほうが良さそうな基本的な部分についてご紹介をしていこうと思います。

まずは、必ず覚えるべきポイントについてです✌

 

【ポイント】

・HTTP2では下位プロトコルTCPを使用している

・HTTP3では下位プロトコルUDPを使用している

UDP使用のデメリットの信頼性低下は「QUIC」というプロトコルで補っている

・QUICではデータ授受の方法を効率化しているため、品質の引くNW環境でも早い通信ができる

 

解説します。

 

はじめにですが、もし皆様の中にセキスぺの勉強をされている方がいれば、すぐにイメージできるかと思いますが、(そうでないと合格は難しいかも( ;∀;)

UDPでは3Way-handshakeが不要なので、より高速な通信ができる。但し、通信の信頼性(具体的には通信先の相手が正しいか?など)は劣る。」

この知識はマストの知識ですので、おさらいも含めて必ず覚えてしまいましょう!

その上で、UDPの使用により低下する通信の信頼性の低下を「QUIC」というプロトコルで補っているわけです。

では、「QUIC」ってどんなプロトコルなのでしょうか?

これはGoogleが2013年から開発を続けてきた通信ルール(プロトコルの一つ)です。

プロトコルの位置づけとしては以下のような位置で活躍をするプロトコルです。

 

-HTTP3

-QUIC 

-UDP

 上記のようにQUICは、HTTPとUDPの間でいい具合のクッションとなるような役割を果たしています。加えて【ポイント】で上げた「データ授受の効率化」の実現をしてくれたりします。具体的には、動画や画像といった大容量のデータを表示する際などに、複数のパケットを同時に送信すると共に、パケットロスが発生してもパケットを別々に送り続けられるようになっています。言い換えると、データを送る際に一部のデータが遅れたり、無くなったりしても他のデータは影響なく送ることができるといった具合です。

少し複雑ですかね・・・

難しければ、「QUICはより効率的にパケットを送る仕組みを持っているんだな~」くらいでもOKです!( ^)o(^ )

 

さて、ここまでを少しまとめてみると、

「HTTP3では下位プロトコルとしてUDPを使用することで、より高速な通信を実現している。UDPで低下する信頼性はGoogle様が開発したQUICというルールで補っている。Google様は天才の集団なので、これらに加えてデータをより効率的に運ぶ機能も持ち合わせている」

 といった具合になります。↑↑ここだけでも良いので覚えてください!(^^)!

 

これだけ聞くと、良いことばかりで明日からでも使えば良さそうですが、当然のごとく注意点があります。以下で、その注意点についてご紹介させて頂ければと思います。

 

【注意点】

・HTTP3の使用はSSL通信が必須となるため、非SSLサイトでは使用できない

・FWでUDPの443ポートを開放する必要がある。(多くはTCP80と443を開放しているかと思います)

Apacheには非対応(←これは結構な重症な気がしますが、非対応です)

 

上記はHTTP3を使用する上では避けて通れない制約ですので、覚えておく必要があります。

余談ですが、世の中では「常時SSL化」といって多くのWebサイトがSSL化していく傾向にありますが、いまだに上場企業でも非SSLのWebサイトを使用しているところもあります。※但し、セキュリティ的にいえば非SSL=全て悪ではないので、そこは誤解をしないようにしなくてはなりません。

 

その他、HTTP3の恩恵は通信環境の品質が低いNWは享受できるが、品質の良いNWでは高速になったという実感はあまりないと言われたりもしているようですね。

今回はこのあたりで!ご参考になれば幸いです。

f:id:CyberSEALs:20200218142134j:plain