httpsとは?httpとの違いとSSL暗号化通信の仕組み

httpsとは?httpとの違いとは?

httpsとは「Hypertext Transfer Protocol Secure」の略称で、SSL/TLSプロトコルにより暗号化されたhttp通信の事です。

ウェブページを訪れた際に、ブラウザのURL欄を確認していただくと、「http」から始まっている場合と、「https」から始まっている場合があることがわかります。

「http」から始まっている場合は、通常のhttp通信であり、データの送信は平文で行われています。

一方で、「https」から始まっている場合は、SSL/TLSプロトコルを利用した、暗号化通信が行われています。

SSL暗号化通信では、データは暗号化されてやりとりされるため、複合化ができない第3者からは、内容を読みとくことができません。

個人情報や認証情報、機密情報等のやりとりが必要なサイトやページで導入することで、盗聴・なりすまし・中間者攻撃・情報漏洩等の対策として活用されてきました。

今日では広く普及が進み、常時SSL化推奨の流れもあるため、機密情報を入力するようなショッピングサイトやログインページだけでなく、例えば、google、yahooの検索ページや、一般企業サイトなどの多くが、「https」から始まるSSL暗号化通信でサイトを公開しています。

httpsの仕組み

SSL(SSL証明書)を用いたhttps暗号化通信は、「共通鍵暗号方式」と「公開鍵暗号方式」の両方を用いた「ハイブリッド方式」とも呼ばれる仕組みで行われます。

「共通鍵暗号方式」の仕組みとは

暗号化する際の鍵と複合化する際の鍵が両方とも同じもの(共通鍵)を利用する暗号化方式です。

共通鍵暗号方式
共通鍵 同じ鍵 共通鍵
こんにちは 暗号化 GVhZC5jb20w 復号化 こんにちは

暗号化・複合化ともに利用するため、共通鍵は公開されず、データの送信側と受信側のみで共有されます。

暗号化・複合化ともに同じ鍵を利用するので、「公開鍵暗号方式」と比べて処理速度が早いのが特徴です。

一方で、通信相手毎に共通鍵が必要となるため、その作成や管理が煩雑となることと、共通鍵の安全な配布が課題となり、「公開鍵暗号方式」と比べて劣ります。

「公開鍵暗号方式」の仕組みとは

暗号化・複合化する際の鍵に、公開鍵と秘密鍵の異なる鍵を利用する暗号化方式です。

公開鍵暗号方式
公開鍵 異なる鍵 秘密鍵
こんにちは 暗号化 GVhZC5jb20w 復号化 こんにちは

データの送信側は、受信側の公開鍵を利用して暗号化します。
暗号化されたデータは、受信側の秘密鍵でしか複合化できないため、安全にデータの送受信が可能です。

公開鍵は誰でも取得が可能ですが、秘密鍵とのキーペアでしか利用ができないので、鍵の管理は「共通鍵暗号化方式」と比べて容易に行えます。

一方で、公開鍵と秘密鍵で暗号化と複合化を行うと、非常に多くの時間を要してしまうため、処理速度においては、「共通鍵暗号方式」にかないません。

両者の良いとこどり「ハイブリッド方式」の仕組みとは

「共通鍵暗号化方式」の処理速度と、「公開鍵暗号方式」の鍵管理の容易さを兼ね備えたSSL証明書を用いた暗号化通信で行われる、「ハイブリッド方式」は、以下図のような流れで行われます。

ハイブリッド方式
ユーザ 接続要求 ウェブサーバ
サーバ証明書 サーバの公開鍵 サーバ証明書公開鍵付送付 サーバ証明書 サーバの公開鍵
ブラウザのルート証明書で証明書を検証
共通鍵生成
サーバ証明書内の公開鍵で共通鍵を暗号化
暗号化した共通鍵 暗号化した共通鍵を送付 暗号化した共通鍵
秘密鍵で復号化
暗号化通信 共通鍵

誰でも取得が可能な公開鍵を元に共通鍵を作成することで、「公開鍵暗号方式」の鍵管理の容易さと、共通鍵で暗号化することで「共通鍵暗号化方式」の処理速度の速さを実現できます。

事例・ライブラリ