HTTPS

プロトコル & 標準
安全なハイパーテキスト転送プロトコル。
← 用語集に戻る

HTTPSとは?

HTTPS(Hypertext Transfer Protocol Secure)は、Webブラウザとサーバーの通信に使うHTTPの安全な版です。HTTPSはTLS(Transport Layer Security)でクライアントとサーバー間のすべての送信データを暗号化し、傍受や改ざんから機密情報を守ります。ブラウザの錠前アイコンで示され、金融取引を扱うサイトに限らず、すべてのWebサイトの標準になっています。

HTTPSの仕組み

TLSハンドシェイク

1. Client Hello: ブラウザが対応する暗号スイートを提示して接続を開始する

2. Server Hello: サーバーが暗号スイートを選び、証明書を送る

3. 証明書の検証: ブラウザが証明書チェーンを検証する

4. 鍵交換: 非対称暗号でセッション鍵を確立する

5. 安全なチャネル: 対称暗号でデータ転送を開始する

暗号化の流れ

HTTP Request (unencrypted):

GET /login HTTP/1.1

Cookie: session=abc123

HTTPS Request (encrypted):

[Binary encrypted data - unreadable to interceptors]

HTTPSの利点

利点説明
データの暗号化送信中のデータの盗聴を防ぐ
データの完全性送信中の改ざんを検出する
認証証明書でWebサイトの身元を確認する
SEO上の利点GoogleがHTTPSサイトを順位付けで優先する
利用者の信頼錠前アイコンで安全性を示す
コンプライアンスPCI-DSS、GDPRなどで要求される

SSL/TLS証明書の種類

ドメイン認証(DV)

組織認証(OV)

拡張認証(EV)

HTTPSの導入

証明書の取得

1. Certificate Signing Request(CSR)を生成する

2. 認証局(CA)へCSRを提出する

3. ドメインまたは組織の確認を完了する

4. 証明書を受け取り、インストールする

サーバー設定

server {

listen 443 ssl http2;

server_name example.com;

ssl_certificate /path/to/fullchain.pem;

ssl_certificate_key /path/to/privkey.pem;

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:...;

}

HTTPからHTTPSへのリダイレクト

server {

listen 80;

server_name example.com;

return 301 https://example.com$request_uri;

}

HTTPSのベストプラクティス

1. TLS 1.2以上を使う: 古いプロトコル(SSL 3.0、TLS 1.0/1.1)を無効にする

2. HSTSを導入する: HTTP Strict Transport SecurityヘッダーでHTTPSを強制する

3. 強力な暗号を使う: ECDHEとAES-GCMのスイートを優先する

4. OCSP staplingを有効にする: 証明書検証を高速化する

5. 証明書を早めに更新する: 期限切れによる停止を避ける

6. 混在コンテンツを更新する: すべてのリソースをHTTPSで読み込む

7. 証明書の有効期限を監視する: 自動監視ツールを使う

HTTPSでよくある問題

HTTPSはもはや任意ではなく、コンテンツの種類に関係なくすべてのWebサイトに不可欠です。安全性、信頼、SEO上の利点を提供するため、導入は基本要件になっています。

この知識を実践する

DomScan の API を使用してドメインの可用性、状態などを確認します。