--- > [!NOTE] 目次 ```table-of-contents title: minLevel: 0 maxLevel: 0 includeLinks: true ``` --- > [!NOTE] リスト掲載用文字列 - [TCP/IPのきほんで学ぶ「ネットワークのセキュリティ① 」HTTPS・暗号化・VPNを整理してみた](https://qiita.com/masa_tech_0326/items/9cd09d8a0d598bdff9fb)【Qiita】(2026年02月09日) --- > [!NOTE] この記事の要約(箇条書き) - 本記事は『スラスラわかるネットワーク&TCP/IPのきほん』に基づき、ネットワークセキュリティの基本を解説しています。 - インターネット通信は無防備であり、盗聴、なりすまし、改ざんといった危険性があります。 - これらの危険に対し、暗号化、本人確認、改ざん検知といったセキュリティの仕組みが用いられます。 - HTTPSはWebブラウザとWebサーバー間の通信を守る仕組みで、以下の3つを実現します。 - 通信内容の暗号化(盗聴対策) - 相手の本人確認(なりすまし対策) - データが途中で改ざんされていないかの確認 - ただし、HTTPSはWeb通信専用プロトコルであり、電子メールやVPNなどWeb以外の通信は保護の対象外です。 - 重要なのは、HTTPSがWeb通信を守るが守備範囲は限定的であり、「どの通信を、どの技術で守るのか」を考える必要があるという点です。 > [!NOTE] 要約おわり --- ![](https://relay-dsp.ad-m.asia/dmp/sync/bizmatrix?pid=c3ed207b574cf11376&d=x18o8hduaj&uid=) ## はじめに 最近技術書を毎日30分以上読むようにしているのですが、記事としてアウトプットしないと、自分の中で定着しない気がしたので、読んで学んだことを共有していきたいと思います。 今回は『スラスラわかるネットワーク&TCP/IPのきほん』のChapter06 セキュリティ章について、ざっくりと読んだ内容をお伝えします。 突然ですが、 インターネットを使っていて、「この通信って本当に安全なのかな?」と考えたことはありますか? Webサイトを見るときに表示される HTTPS。 なんとなく「鍵マークがついていれば安心」と思っていたのですが、TCP/IPのきほん本を読んでみると、 「あ、思っていたより守備範囲せまいな…」 と感じる部分がありました。 この本では、 - HTTPSは何を守っているのか - 暗号化って何をしているのか - VPNはどんな場面で使われるのか といった ネットワークセキュリティの基本が、かなり噛み砕いて説明されています。 この記事では、その中でも 「通信のセキュリティって、結局どういう考え方なの?」 という部分を、整理してまとめました。 専門用語はできるだけあとから説明し、「まず全体像をつかむ」ことを目的にしています。 同じように、 - ネットワークが苦手 - HTTPSやVPNを雰囲気で使っている - TCP/IPの本を読んだけど頭がこんがらがった という方の参考になればうれしいです。 ## 通信にはどんな危険があるのか? まず前提として知っておきたいのは、インターネット上の通信は、何もしなければ基本的に **無防備** だということです。 たとえば、あなたがWebサイトにアクセスしたとき、 - ログインIDやパスワードを入力する - フォームに個人情報を書く - サーバーからデータを受け取る こうしたやりとりはすべて「通信」としてネットワークを流れています。 もしこの通信がそのまま流れていたら、途中にいる第三者に見られたり、書き換えられたり、なりすまされたりする可能性があります。 本の中では、主に次のようなリスクが紹介されていました。 ### 📡 盗聴(データを見られる) 盗聴とは、通信の中身を第三者にのぞき見されることです。 もし通信が暗号化されていなければ、 - 入力したパスワード - メールの内容 - フォームに書いた個人情報 などが、そのまま読めてしまいます。 「ネットワークを流れるデータは、封筒に入っていないハガキのようなもの」 と考えるとイメージしやすいかもしれません。 ### 🕵️ なりすまし(相手が本物とは限らない) 次に厄介なのが **なりすまし** です。 これは、 - 本物のWebサイトのふりをした偽サイト - 本物のサーバーのふりをした攻撃者 と通信してしまうケースです。 見た目がそっくりだと、「本物だと思って情報を送ってしまう」ことも起こりえます。 つまり、 **「ちゃんと相手と通信しているつもりだったけど、実は別の相手だった」** という状態です。 ### ✍️ 改ざん(途中で書き換えられる) 通信の途中で - データを書き換えられる - 意図しない内容に差し替えられる といった **改ざん** のリスクもあります。 たとえば、 - 送った内容と違うデータが届く - 正常なデータに見えて、実は一部だけ書き換えられている といったことが起きても、仕組みがなければ気づくことができません。 ### 🤔 「じゃあ、どうすればいいの?」 ここまで読むと、 - 見られる - だまされる - 書き換えられる と、かなり怖く感じるかもしれません。 そこで登場するのが、 - 暗号化(見られないようにする) - 本人確認(本物かどうか確かめる) - 改ざん検知(途中で変わっていないか確認する) といったセキュリティの仕組みです。 ## HTTPSは何を守っていて、何を守っていないのか Webサイトを見ていると、URLの先頭が https:// になっていて、ブラウザに「🔒 鍵マーク」が表示されていることがあります。 これを見ると、 - 「HTTPSだから安全」 - 「鍵マークがあるから安心」 と思いがちですが、HTTPSが守っているのは“ **すべて** ”ではありません。 まずは、HTTPSが何をしてくれているのかから見ていきます。 ### 🔒 HTTPSが守ってくれていること HTTPSは、WebブラウザとWebサーバーの間の通信を守る仕組みです。 具体的には、次の3つを実現しています。 #### ① 通信内容を暗号化する(盗聴対策) HTTPSでは、通信の中身が暗号化されて送受信されます。 そのため、途中で通信をのぞき見されても、 - パスワード - フォームの入力内容 - 送受信しているデータ をそのまま読むことはできません。 👉つまり、「見られないようにする」役割ですね。 #### ② 相手が本物かどうか確認する(なりすまし対策) HTTPSでは、サーバーが **電子証明書** を使って「自分は本物のサーバーです」と証明します。 ブラウザはその証明書をチェックして、 - 信頼できる相手か? - なりすましではないか? を判断しています。 👉 これは、「相手が本物か確かめる」役割ですね。 #### ③ データが途中で改ざんされていないか確認する HTTPSでは、 - 送ったデータと - 受け取ったデータ が同じであることも確認されます。 もし途中で書き換えられていれば、「おかしい」と検知できる仕組みになっています。 👉 これは、「途中で変わっていないか確認する」役割です。 ここまで見ると、 「 **え、じゃあHTTPSって完璧じゃない?** 」 と思うかもしれません。 でも、ここが大事なポイントです。 ### ⚠️ HTTPSが守っていないこと HTTPSは **Web用のプロトコル** です。 つまり、守っているのはあくまで「Webブラウザ ⇄ Webサーバー間の通信」だけです。 たとえば、 - 電子メール(SMTP) - ファイル転送(FTP) - サーバー管理(SSH) - 社内ネットワーク間の通信 これらは **HTTPSの対象外** です。 つまり、HTTPSが使われているからといって、すべての通信が自動的に安全になるわけではないということ。 ### 🌐 じゃあWeb以外の通信はどう守るの? ここで出てくる選択肢の一つが **VPN** です。 VPNは、 - 特定の区間の通信を - 丸ごと暗号化する という考え方です。 HTTPSが「Web通信1本1本を守る」仕組みだとすると、 VPNは「 **この区間を通る通信は全部守る** 」仕組みと考えるとイメージしやすいです。 ただしVPNにも、 - 守られる範囲が決まっている - VPN外の通信は対象外 といった注意点があります。 ### 🧠 ここで押さえておきたい考え方 HTTPSについて、最低限覚えておきたいのはこの3点です👇 - HTTPSは **Web通信を守る仕組み** - 暗号化・本人確認・改ざん検知をしている - でも **守備範囲は限定的** だからこそ、「 **どの通信を、どの技術で守るのか?** 」 を考える必要があるということですね。 1記事が長くなってしまうので、本記事では「HTTPSについて」ざっくりとした整理までにさせていただきます。 次回の記事では、下記内容に言及して紹介できればと思います。 - 暗号化の考え方(共通鍵・公開鍵をざっくり) - 電子証明書・署名って何者? - VPNはどんなときに使うのか - 結局、どう考えればいいのか 自分の読書記録的な記事ですが、プログラミング始めたばかりで、セキュリティがよくわからない方のお役に立てれば幸いです。 **追記** : 合計4回の記事にわけて執筆しました。 続きは以下にて執筆しています。