【初心者向け】HTTPSとは?HTTPとの違いや安全な通信の仕組みをやさしく解説
IT業務やWebサイト運営に関わると、HTTPSという言葉を目にすることがあります。
「HTTPとHTTPSは何が違うの?」
「HTTPSなら絶対に安全なの?」
「SSL証明書やTLSとはどのような関係があるの?」
このような疑問を持つIT業務初心者の方は少なくありません。
HTTPSとは、WebブラウザーとWebサーバーの間でやり取りするデータを暗号化し、安全に通信するための仕組みです。
この記事では、HTTPSの基本、HTTPとの違い、SSL・TLSとの関係、証明書の役割、実際のIT業務で確認するポイントまで、初心者向けに分かりやすく解説します。
- HTTPSとは?
- HTTPSを身近な例で考えてみよう
- HTTPとは?
- HTTPとHTTPSの違い
- HTTPSで守られる3つのこと
- 通信内容の暗号化
- 通信相手の確認
- 通信内容の改ざん確認
- TLSとは?
- SSLとは?
- SSL証明書とは?
- 認証局とは?
- HTTPS通信が始まるまでの流れ
- 共通鍵暗号と公開鍵暗号の関係
- ブラウザーの鍵マークは何を意味する?
- HTTPSなら絶対に安全?
- 証明書エラーとは?
- 証明書の有効期限とは?
- 常時HTTPSとは?
- HTTPからHTTPSへのリダイレクト
- 混合コンテンツとは?
- HTTPSとCookieの関係
- HSTSとは?
- HTTPSで使われるポート番号
- HTTPSとロードバランサーの関係
- クラウドサービスでのHTTPS
- HTTPSとVPNの違い
- HTTPSと暗号化の関係
- 実際のIT業務ではどこで使われる?
- HTTPSを導入するときの基本的な流れ
- HTTPSを利用するときの注意点
- よくある質問
- IT業務初心者が覚えておきたいポイント
- 関連して覚えておきたい用語
- まとめ
HTTPSとは?
HTTPSは、Hypertext Transfer Protocol Secureの略です。
Webサイトを見るときに使われるHTTPへ、通信を安全にする仕組みを追加したものです。
HTTPSを利用しているWebサイトのURLは、次のように始まります。
Example Domain
HTTPSでは、利用者のブラウザーとWebサーバーの間で送受信されるデータが暗号化されます。
利用者のブラウザー ↓ 暗号化された通信 Webサーバー
これにより、通信の途中で第三者に内容を盗み見られたり、書き換えられたりする危険を減らせます。
HTTPSを身近な例で考えてみよう
HTTPSは、手紙を鍵付きの箱へ入れて送るような仕組みです。
通常の手紙は、途中で開かれると内容を読まれてしまいます。
一方、鍵付きの箱へ入れて送れば、正しい鍵を持っている相手だけが中身を確認できます。
HTTPSでも同じように、Webサイトとの通信内容へ鍵をかけて安全に送受信します。
HTTPとは?
HTTPは、WebブラウザーとWebサーバーの間でデータをやり取りするための通信ルールです。
Webサイトを見るときは、ブラウザーからサーバーへ次のような依頼を送ります。
このページを表示してください
Webサーバーは、依頼されたHTMLや画像などをブラウザーへ返します。
ブラウザー ↓ HTTPリクエスト Webサーバー ↓ HTTPレスポンス ブラウザー
ただし、HTTPだけでは、通信内容が暗号化されません。
HTTPとHTTPSの違い
| 項目 | HTTP | HTTPS |
|---|---|---|
| 通信の暗号化 | 暗号化されない | 暗号化される |
| URL | http:// | https:// |
| サーバーの確認 | 基本的に行わない | 証明書を使って確認する |
| 通信の改ざん対策 | 弱い | 改ざんを検出しやすい |
| 代表的なポート番号 | 80 | 443 |
現在のWebサイトでは、ログイン画面や決済画面だけでなく、サイト全体をHTTPS化することが一般的です。
HTTPSで守られる3つのこと
HTTPSには、主に次の3つの役割があります。
- 通信内容を暗号化する
- 通信相手が正しいサーバーか確認する
- 通信内容が途中で変更されていないか確認する
通信内容の暗号化
HTTPSでは、ブラウザーとサーバーの間を流れるデータを暗号化します。
例えば、次のような情報が対象です。
- ログインID
- パスワード
- 氏名や住所
- クレジットカード情報
- 問い合わせ内容
- Webページの内容
通信を第三者に取得されても、暗号化されていれば内容を簡単には読めません。
通信相手の確認
HTTPSでは、アクセス先のWebサーバーが正しい相手かを証明書で確認します。
例えば、利用者が銀行のWebサイトへアクセスしたつもりでも、実際には偽サイトへ接続している可能性があります。
HTTPSでは、Webサーバーが提示する証明書をブラウザーが確認し、アクセス先のドメインと証明書の内容が一致しているかを判断します。
通信内容の改ざん確認
HTTPSでは、通信途中でデータが書き換えられていないかも確認できます。
例えば、Webページに表示される振込先やダウンロードリンクが第三者によって変更される危険があります。
HTTPSを利用することで、通信内容の改ざんを検出しやすくなります。
TLSとは?
HTTPSでは、通信を安全にするためにTLSという仕組みを利用します。
TLSは、Transport Layer Securityの略です。
TLSには、主に次の役割があります。
- 通信内容を暗号化する
- 通信相手を確認する
- 通信内容の改ざんを検出する
HTTPSは、HTTP通信をTLSによって保護したものと考えると分かりやすいでしょう。
HTTP + TLS = HTTPS
SSLとは?
SSLは、以前利用されていた通信暗号化の仕組みです。
SSLはSecure Sockets Layerの略です。
現在はSSLの後継であるTLSが使われています。
ただし、現在でも次のような言葉が一般的に使われています。
- SSL証明書
- SSL化
- 常時SSL
- SSL通信
これらは実際にはTLSを使ったHTTPS通信を指している場合が多くあります。
SSL証明書とは?
SSL証明書とは、Webサーバーの身元を確認し、HTTPS通信を行うために使用する電子証明書です。
現在の技術的な呼び方としては、TLS証明書やサーバー証明書と呼ぶほうが正確ですが、SSL証明書という名称も広く使われています。
証明書には、主に次のような情報が含まれます。
- 対象となるドメイン名
- 証明書を発行した認証局
- 有効期限
- 公開鍵
- 証明書の署名情報
認証局とは?
認証局は、Webサイトの証明書を発行する機関です。
英語ではCertificate Authorityと呼ばれ、略してCAと表記されます。
認証局は、証明書の申請者が対象ドメインを管理しているかなどを確認し、証明書を発行します。
Webサイト管理者 ↓ 証明書を申請 認証局 ↓ 証明書を発行 Webサーバーへ設定
ブラウザーは、信頼できる認証局が発行した証明書かどうかを確認します。
HTTPS通信が始まるまでの流れ
HTTPS通信を開始するときは、ブラウザーとWebサーバーの間で安全な通信方法を決めます。
この処理をTLSハンドシェイクと呼びます。
大まかな流れは次のとおりです。
- ブラウザーがWebサーバーへ接続する
- Webサーバーが証明書を提示する
- ブラウザーが証明書を確認する
- 使用する暗号方式などを決める
- 通信に使用する鍵を安全に共有する
- 暗号化された通信を開始する
ブラウザー ↓ 接続要求 Webサーバー ↓ 証明書を提示 ブラウザー ↓ 証明書を確認 安全な鍵を共有 ↓ HTTPS通信開始
共通鍵暗号と公開鍵暗号の関係
HTTPSでは、共通鍵暗号方式と公開鍵暗号方式などを組み合わせて通信します。
公開鍵暗号方式
安全に通信を始めるための鍵交換や、証明書の確認などに利用されます。
共通鍵暗号方式
実際のWebページや入力情報など、大量の通信データを高速に暗号化するために利用されます。
公開鍵暗号方式は安全な鍵交換に向き、共通鍵暗号方式は大量データの高速処理に向いています。
ブラウザーの鍵マークは何を意味する?
ブラウザーのアドレス欄には、HTTPS通信を示すアイコンが表示されることがあります。
以前は鍵の形で表示されることが一般的でしたが、ブラウザーによって表示方法は異なります。
アイコンを選択すると、次のような情報を確認できる場合があります。
- 通信が暗号化されているか
- 証明書が有効か
- サイトへ与えた権限
- Cookieや保存データ
ただし、HTTPSであることは、そのWebサイトの内容や運営者が必ず信頼できることを意味するわけではありません。
HTTPSなら絶対に安全?
HTTPSを利用していても、Webサイトが必ず安全とは限りません。
HTTPSが主に守るのは、利用者とWebサーバーの間の通信です。
次のような問題までは、HTTPSだけでは防げません。
- 偽サイトやフィッシングサイト
- Webサイト自体の不正な内容
- サーバーへ保存されたデータの漏えい
- アプリケーションの脆弱性
- マルウェアの配布
- 弱いパスワードの利用
- 管理者アカウントの乗っ取り
攻撃者でも、自分が管理するドメインに正規の証明書を設定できます。
そのため、HTTPSであることに加えて、ドメイン名やサイト内容も確認する必要があります。
証明書エラーとは?
Webサイトへアクセスしたときに、ブラウザーから「この接続ではプライバシーが保護されません」などの警告が表示されることがあります。
代表的な原因は次のとおりです。
- 証明書の有効期限が切れている
- アクセスしたドメインと証明書が一致しない
- 信頼されていない認証局が発行している
- 証明書の設定が正しくない
- パソコンの日付や時刻が間違っている
- 中間証明書が正しく設定されていない
業務システムで証明書エラーが表示された場合は、安易に警告を無視せず、管理者へ確認しましょう。
証明書の有効期限とは?
SSL証明書には有効期限があります。
有効期限が切れると、ブラウザーに警告が表示され、利用者がWebサイトへアクセスできなくなる可能性があります。
IT業務では、証明書の期限を監視し、期限切れになる前に更新することが重要です。
- 証明書の期限を一覧で管理する
- 期限前に通知する
- 自動更新を設定する
- 更新後に動作確認する
常時HTTPSとは?
常時HTTPSとは、ログイン画面や決済画面だけでなく、Webサイト全体をHTTPS化することです。
以前は、重要な情報を入力するページだけHTTPSにする構成もありました。
現在は、すべてのページをHTTPSで提供する構成が一般的です。
常時HTTPSのメリット
- すべてのページ通信を暗号化できる
- Cookieなどの盗み見リスクを減らせる
- ページの改ざんを防ぎやすい
- HTTPとHTTPSの混在を避けられる
- 利用者へ安心感を与えやすい
HTTPからHTTPSへのリダイレクト
WebサイトをHTTPS化した場合、HTTPでアクセスした利用者をHTTPSへ転送する設定を行います。
↓ リダイレクト Example Domain Example Domain
一般的には、301リダイレクトや308リダイレクトなどを利用します。
これにより、古いブックマークやリンクからHTTPへアクセスした場合でも、HTTPSページへ案内できます。
混合コンテンツとは?
HTTPSのページ内で、画像やJavaScriptなどの一部をHTTPで読み込む状態を混合コンテンツと呼びます。
HTTPSのWebページ ├─ HTTPSの画像 ├─ HTTPSのCSS └─ HTTPのJavaScript
ページ本体がHTTPSでも、一部の通信が暗号化されていないため、安全性が低下します。
ブラウザーによっては、HTTPで読み込まれるJavaScriptなどがブロックされることがあります。
WebサイトをHTTPS化するときは、ページ内のURLもHTTPSへ変更する必要があります。
HTTPSとCookieの関係
Cookieは、ログイン状態や利用者設定などをブラウザーへ保存する仕組みです。
HTTPSを利用する場合、CookieへSecure属性を設定できます。
Secure属性を設定したCookieは、原則としてHTTPS通信でのみ送信されます。
これにより、暗号化されていないHTTP通信でCookieが送られる危険を減らせます。
Cookieの安全性を高めるためには、HttpOnly属性やSameSite属性なども適切に設定します。
HSTSとは?
HSTSは、ブラウザーへ「このWebサイトには必ずHTTPSで接続してください」と伝える仕組みです。
正式名称はHTTP Strict Transport Securityです。
HSTSを設定すると、利用者がHTTPのURLを入力した場合でも、ブラウザーがHTTPS接続へ切り替えます。
ただし、設定を誤るとサイトへ接続できなくなる可能性があるため、導入前に十分な確認が必要です。
HTTPSで使われるポート番号
HTTPSでは、標準的に443番ポートを使用します。
| 通信 | 代表的なポート番号 |
|---|---|
| HTTP | 80 |
| HTTPS | 443 |
ファイアウォールやロードバランサーを設定するときに、80番や443番という数字を目にすることがあります。
HTTPSとロードバランサーの関係
クラウド環境では、HTTPSの証明書をWebサーバーではなく、ロードバランサーへ設定する場合があります。
利用者 ↓ HTTPS ロードバランサー ↓ Webサーバー
ロードバランサーがHTTPS通信を受け取り、暗号化を解除して、後続のサーバーへ通信を転送します。
この処理をTLS終端やSSL終端と呼びます。
ロードバランサーからWebサーバーまでの通信も、要件に応じて再度HTTPS化します。
クラウドサービスでのHTTPS
AWS、Microsoft Azure、Google Cloudなどでは、HTTPS通信を利用するためのサービスが提供されています。
例えば、次のようなサービスで証明書やHTTPSを設定できます。
- ロードバランサー
- CDN
- API管理サービス
- Webアプリ実行サービス
- オブジェクトストレージ
- コンテナ実行サービス
クラウドでは、証明書を自動発行・自動更新できるサービスもあります。
HTTPSとVPNの違い
| 項目 | HTTPS | VPN |
|---|---|---|
| 主な保護対象 | Web通信 | ネットワーク通信全体 |
| 利用例 | Webサイト、Web API | 社内接続、拠点間接続 |
| 設定場所 | ブラウザーとWebサーバー | 端末やネットワーク機器 |
HTTPSは特定のWeb通信を保護し、VPNは端末や拠点間のネットワーク通信を保護します。
HTTPSと暗号化の関係
HTTPSは暗号化を利用する代表的な仕組みですが、暗号化とHTTPSは同じ意味ではありません。
暗号化は、データを第三者が読めない形式へ変換する技術全般です。
HTTPSは、その暗号化技術を使ってWeb通信を安全にする仕組みです。
| 用語 | 意味 |
|---|---|
| 暗号化 | データを読めない形式へ変換する技術 |
| TLS | ネットワーク通信を安全にする仕組み |
| HTTPS | HTTP通信をTLSで保護したもの |
実際のIT業務ではどこで使われる?
Webサイト
企業サイト、ECサイト、ブログなどの通信をHTTPS化します。
ログイン画面
IDやパスワードを暗号化して送信します。
Web API
アプリケーション間のAPI通信をHTTPSで保護します。
クラウドサービス
管理画面やクラウド上のサービスへ安全にアクセスします。
スマートフォンアプリ
アプリとバックエンドサーバーの通信をHTTPSで保護します。
社内システム
社内向けのWebシステムでも、HTTPSを利用して通信を保護します。
HTTPSを導入するときの基本的な流れ
- ドメインを用意する
- SSL証明書を取得する
- Webサーバーやロードバランサーへ設定する
- 443番ポートを許可する
- HTTPからHTTPSへリダイレクトする
- ページ内のリンクや画像URLをHTTPSへ変更する
- 証明書エラーがないか確認する
- 自動更新や期限監視を設定する
利用するサーバーやクラウドサービスによって、具体的な手順は異なります。
HTTPSを利用するときの注意点
証明書の期限切れを防ぐ
証明書の有効期限を監視し、期限前に更新します。
古いTLSバージョンを使わない
安全性が低い古い通信方式を無効化し、利用環境に合った安全な設定を使用します。
HTTP通信を残さない
HTTPからHTTPSへのリダイレクトを設定し、不要なHTTP通信を減らします。
混合コンテンツを解消する
画像、CSS、JavaScript、APIなどもHTTPSで読み込みます。
証明書のドメインを確認する
wwwあり・なし、サブドメインなど、必要なドメインが証明書の対象に含まれているか確認します。
秘密鍵を安全に管理する
証明書と組み合わせて使用する秘密鍵が漏れると、安全な通信を維持できなくなる可能性があります。
秘密鍵へアクセスできる利用者やシステムを制限します。
よくある質問
HTTPSならパスワードは安全ですか?
通信中のパスワードは暗号化されます。
ただし、サーバー側でパスワードを平文保存していたり、Webサイト自体が偽物だったりする場合までは防げません。
URLがHTTPSなら本物のサイトですか?
必ずしも本物とは限りません。
偽サイトでも独自ドメインと証明書を取得できます。ドメイン名や運営者情報も確認してください。
HTTPS化するとWebサイトが遅くなりますか?
暗号化の処理は発生しますが、現在のサーバーやブラウザーでは効率化されています。
通常は、HTTPS化を避けるほどの大きな速度低下にはなりません。
無料でSSL証明書を取得できますか?
無料で利用できる証明書発行サービスや、クラウド事業者が提供するマネージド証明書があります。
ただし、自動更新や対応ドメイン、利用条件を確認する必要があります。
社内システムでもHTTPSは必要ですか?
社内ネットワーク内でも、通信の盗み見やなりすましのリスクはあります。
ログイン情報や重要データを扱う場合は、社内システムでもHTTPS化を検討します。
IPアドレスでもHTTPSを使えますか?
技術的には可能な場合がありますが、一般的にはドメイン名に対して証明書を発行して利用します。
証明書の対象とアクセス先が一致しなければ、ブラウザーに警告が表示されます。
HTTPSとSSLは同じですか?
厳密には同じではありません。
HTTPSは安全なWeb通信の仕組みで、現在は主にTLSを利用します。SSLはTLSの前身です。
HTTPS化すればウイルス対策は不要ですか?
不要にはなりません。
HTTPSは通信を保護する仕組みであり、マルウェア感染や不正プログラムを防ぐ機能ではありません。
IT業務初心者が覚えておきたいポイント
- HTTPSはWeb通信を安全にする仕組み
- HTTP通信をTLSで保護したもの
- 通信内容を暗号化できる
- 通信相手のサーバーを証明書で確認する
- 通信内容の改ざんを検出しやすい
- HTTPSの代表的なポート番号は443
- SSLはTLSの前身で、現在はTLSが使われる
- SSL証明書には有効期限がある
- HTTPSでも偽サイトは存在する
- 証明書更新、混合コンテンツ、HTTPリダイレクトの確認が重要
関連して覚えておきたい用語
- HTTP
- SSL
- TLS
- SSL証明書
- 認証局
- 暗号化
- 公開鍵
- 秘密鍵
- 共通鍵暗号方式
- 公開鍵暗号方式
- ポート番号443
- HSTS
- 混合コンテンツ
- Cookie
- ロードバランサー
- TLS終端
まとめ
HTTPSとは、WebブラウザーとWebサーバーの間で送受信されるデータを暗号化し、安全に通信するための仕組みです。
HTTP通信をTLSで保護することで、通信内容の盗み見、なりすまし、改ざんなどのリスクを減らします。
HTTPS通信では、Webサーバーが提示するSSL証明書をブラウザーが確認し、安全な通信に使用する鍵を共有します。
ただし、HTTPSであることだけでWebサイト全体の安全性が保証されるわけではありません。ドメイン名、サイト内容、パスワード管理、サーバーのセキュリティなども確認する必要があります。
まずは、「HTTPSは、Webサイトとの通信内容へ鍵をかけ、安全に送受信する仕組み」と理解しておきましょう。
