私がわかりにくところをまとめてあります。
🎯 代理キー(Alternate Key)
■ 定義
候補キーのうち、主キーに選ばれなかったキー。
■ どういうときに発生する?
1つの表に 複数の候補キー があるとき。
その中から1つを主キーに選んだら、残りは代理キーになる。
社員番号 でも、運転免許証番号 でも行を一意に識別できる。
👉 どちらも候補キー。
社員番号を主キーに選んだ場合、運転免許証番号は代理キーになる。
🎯 外部キー(Foreign Key)
■ 定義
他の表の候補キー(主キーが多い)を参照する列。
👉 複数の表を「つなぐ」ために使う。
■ どういうときに使う?
表を分割(正規化)したときに、関連付けを保つため。
「部署番号」は部署表の主キーを参照している。
社員表における「部署番号」が 外部キー。
📌 違いのまとめ
代理キー:同じ表の中で「主キーにならなかった候補キー」
外部キー:別の表の主キーを参照する列
💡 覚え方
代理キー → 「主役になれなかった候補」
外部キー → 「外の表とつながる橋渡し」
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
🎯 差集合(EXCEPT)の考え方
差集合は「A − B」と書いたら、
👉 Aの中からBに含まれる行を取り除いたもの を返す。
A = 「基準となる表」
B = 「除外する表」
今回の問題
「従業員表に対して異動表による差集合演算」
これは数式で書くと:
👉 従業員 − 異動
従業員表が「基準」
異動表に含まれる行を「取り除く」
試験での引っかけ
「異動表に対して従業員表による差集合」
👉 逆向き(異動 − 従業員)になり、結果が全然変わる。
💡 ポイント
「Aに対してBによる差集合」=「A − B」
最初に書かれている表が「基準」になる。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
ターンアラウンドタイムについて
① 言葉のイメージ
Turn Around(ターンアラウンド)=「振り返る」「向きを変える」
👉 つまり「行って戻ってくる」イメージ。
→ 往復の時間だと思えばOK。
② 分解して覚える
ターンアラウンドタイム = 送信 + 処理 + 受信
送信:端末からホストへ「リクエストを投げる」
処理:ホストが「中身を計算・処理する」
受信:ホストから端末に「結果を返す」
送信と受信で両方時間が掛かっているから処理時間を計算する時に
片道の伝送時間か往復の伝送時間か聞かれるので、異なることの注意が必要だね。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
デフォルトゲートウェイ → ルータの「IPアドレス」 を指す
ゲートウェイ(広義) → プロトコル翻訳をする装置 を指す
👉 ぜんぜん違う意味なのに、どちらも「Gateway」という言葉を使っているから混乱しやすいんです。
どうして同じ「ゲートウェイ」って呼ばれるの?
共通点:「外の世界とつなぐ門」だから
デフォルトゲートウェイ → LANから外(別のネットワーク)に出る門
ゲートウェイ(装置) → 異なる仕組みの世界(違うプロトコル)に渡る門
つまり「門(gateway)」というイメージは同じだけど、
👉 片方は「住所(アドレス)」、片方は「通訳する機械」って違いがあるんです。
試験対策ポイント
デフォルトゲートウェイが出てきたら → 「ルータのIPアドレス設定」
ゲートウェイが出てきたら → 「異なるプロトコルの翻訳装置」
ここを押さえておけば、選択肢で迷わなくなります👍
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
スイッチ接続が主流だとなぜ衝突しないの
🎯 昔(ハブ接続時代)
ハブは受け取った信号を全ポートにそのまま流す。
だから複数の端末が同時に送信すると、同じケーブル上で電気信号が衝突する。
→ コリジョンドメイン(衝突領域)がLAN全体になってしまう。
このとき使われていたのが CSMA/CD(衝突検出)。
🎯 今(スイッチ接続時代)
スイッチは宛先のMACアドレスを見て「そのポートだけ」に転送する。
1つのポート=1つの端末との専用の通信路になる。
複数の端末が同時に送信しても、それぞれ別のポートなので衝突しない。
→ コリジョンドメインはポートごとに分割される。
🎯 CSMA/CD と CSMA/CA の違い
🔹 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
**有線LAN(Ethernet)**で使われていた方式
仕組み:
回線が空いているか確認(Carrier Sense)
空いていれば送信
万が一ぶつかったら(Collision Detection)、すぐ検出して再送
物理的にケーブルを共有していた昔のEthernet(ハブ接続など)で使われた
今はスイッチ接続が主流なので、ほぼ衝突は発生しない → 事実上使われていない
🔹 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)
**無線LAN(Wi-Fi)**で使われる方式
無線は「誰が今しゃべってるか」を検出しにくい(衝突検出が困難)
なので「ぶつかりそうなら事前に譲る(Collision Avoidance)」仕組みを取る
仕組み:
RTS(送っていい?)/CTS(いいよ!)で調整
ランダムな待ち時間(バックオフ)を入れて衝突を避ける
📌 覚え方
有線=CD(衝突検出):線だから「ぶつかったらわかる」
無線=CA(衝突回避):空中だから「ぶつかったか検出できない」ので事前に避ける
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
nax 最強
bg ブックオーライゆっくりね
aac エーシー

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
URLについて
まとめ(例付きフレーズ)
スキーム → どうやって(例:https で安全にアクセス)
ホスト名 → どこに(例:amazon.co.jp に行く)
ポート番号 → どの窓口(例::443 の入り口)
パス → どの棚(例:/s の検索ページ)
クエリ文字列 → どんな条件(例:?k=protein =プロテインを検索)
フラグメント → どの部分(例:#customerReviews =レビュー欄へ)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
攻撃者が行うフットプリンティングに該当するものはどれか。
🎯 4つの選択肢の整理
- 攻撃前に,攻撃に使用するPCのメモリを増設する
これは単なる ハードウェア強化 の話で、セキュリティ用語ではありません。
- Webサイトを改ざんして、政治的主張を発信する
👉 ハクティビズム(Hacktivism)
「Hack(ハッキング)+Activism(活動家)」の造語
政治的・宗教的・社会的な思想を広めるために行われるサイバー攻撃(例:Web改ざん、DDoS攻撃)
- 攻撃前に,攻撃対象となるPC,サーバ及びネットワークについての情報を得る
👉 フットプリンティング(Footprinting)
攻撃前の下調べ
例:検索エンジンで公開情報を探す、whoisでドメイン情報を調べる、ポートスキャンする
攻撃の「足跡をつける」イメージからこの名前
- システムログに偽の痕跡を加えて追跡を逃れる
👉 ルートキット(Rootkit)
攻撃者が侵入後に自分の存在を隠すツールの総称
例:
ログ改ざん
プロセスを隠す
管理者権限を密かに保持する
Rootkitとフットプリンティングの名前があきらかに分かりにくくなっていると思って
由来を調べてみました。
Rootkit(ルートキット)
Root=UNIX/Linuxの管理者権限(最強ユーザ)
Kit=ツールの詰め合わせ(セット)
👉 「管理者権限を奪って隠すためのツール一式」=Rootkit
💡 名前は「目的」そのまま → 「root権限をキープするキット」
🎯 Footprinting(フットプリンティング)
Footprint=足跡
-ing=足跡を残す/たどる行為
👉 攻撃対象の「足跡(情報)」を探すことを指す
💡 由来は「動物を狩るときに足跡を調べる」イメージ
攻撃前に「どんなサーバ?どんなサービス?」と下調べする=足跡を追う
📌 確かに分かりにくい理由
「ルートキット」→ root権限とかUNIXを知らないと意味不明
「フットプリンティング」→ 情報収集と“足跡”の結びつきが直感的じゃない
💡 覚えやすく言い換えるなら
Rootkit=管理者権限を隠すツールセット
Footprinting=攻撃前の下調べ(足跡探し)
覚え方
フットプリンティング → 足跡を残さず足元を調べる(攻撃前)
ハクティビズム → ハッカー+活動家(主張のための攻撃)
ルートキット → ルート権限を隠す道具(攻撃後)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
認証サーバ
RADIUS → 「VPNや無線LANの共通認証」
LDAP/AD → 「社内ユーザ管理の基盤」
OTP → 「毎回変わる暗証番号」
CHAP → 「チャレンジレスポンスで盗聴対策」
Kerberos → 「チケットを配って認証」
覚え方
🎯 ワンタイムパスワードの種類
- TOTP(ティーオーティーピー)
読み仮名:てぃーおーてぃーぴー
フルスペル:Time-based One Time Password
仕組み:時刻ベース
サーバと端末の時計を同期して、一定時間ごと(例:30秒ごと)に新しいパスワードを生成
例:Google Authenticator、Microsoft Authenticator
- HOTP(エイチオーティーピー)
読み仮名:えいちおーてぃーぴー
フルスペル:HMAC-based One Time Password
仕組み:カウンタベース
利用のたびにカウンタを進めて新しいパスワードを生成
サーバと端末の「カウンタ値」を同期させる必要がある
TOTP → Time(時間ベース)
HOTP → HMAC(カウンタベース)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
デジタル署名
OCSP(Online Certificate Status Protocol)
役割
デジタル証明書が「まだ有効か(失効していないか)」をオンラインでリアルタイムに確認する仕組み。
仕組み
クライアント(例:Webブラウザ)が、検証対象の証明書のシリアル番号を OCSPレスポンダ(認証局が用意するサーバ)に送信する。
OCSPレスポンダが「有効」「失効」「不明」のいずれかを返す。
クライアントはその応答を見て証明書を使うかどうかを判断する。
利点
従来は CRL(Certificate Revocation List=失効証明書リスト) をダウンロードして照合する必要があった。
CRLはファイルが大きく、更新間隔も長いのでリアルタイム性に欠ける。
OCSPなら必要な証明書だけ確認できるので効率的かつ即時性がある。
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
権威DNSサーバってそういえば普通のDNSサーバと何がちがうの
ChatGPT:
いいところに気づきましたね!🌟
「権威DNSサーバ」と「普通のDNSサーバ(キャッシュDNSサーバなど)」の違いを整理します。
✅ DNSサーバの役割分け
- 権威DNSサーバ(Authoritative DNS Server)
役割:そのドメイン名に対する「正しい答え」を持っているサーバ。
例:
openai.com の権威DNSサーバは、
www.openai.com
→ 104.18.xx.xx
mail.openai.com → 192.0.xx.xx
といった正規のリソースレコードを管理している。
特徴:
自分のゾーン(担当ドメイン)の情報だけを返す。
他のドメインの問い合わせには答えない。
👉 「自分の担当分の住所録を持っている市役所」みたいなイメージ。
- キャッシュDNSサーバ(リゾルバ)
役割:利用者(PCやスマホ)の代わりに問い合わせをして答えを探すサーバ。
仕組み:
利用者「www.openai.comのIPは?」
キャッシュDNSサーバがルートDNS → TLD(.com)DNS → 権威DNS へ順番に問い合わせ。
得た答えをしばらくキャッシュ(保存)して、次の問い合わせに高速応答できる。
特徴:
権威DNSから答えをもらう「代理人」役。
正しい答えを直接は持っていない。
👉 「市役所をまわって答えを取り寄せてくる郵便局」みたいなイメージ。
- 違いまとめ表
種類 権威DNSサーバ キャッシュDNSサーバ
役割 正しい答えを持つ 利用者の代わりに答えを探す
情報源 自分のゾーンデータベース 権威DNSからもらった答えを一時保存
対応範囲 自分の担当ドメインのみ すべてのドメインに対応
イメージ 市役所(公式の住所録) 郵便局(問い合わせ代行) - DNSSECとの関係
権威DNSサーバ → 応答に「電子署名」を付与。
キャッシュDNSサーバ → 受け取った応答の署名を検証。
👉 つまり、DNSSECは「権威DNSが署名する」「キャッシュDNSが検証する」で成り立っています。
💡 まとめると:
権威DNSサーバ=公式の情報を管理する本物の答えを持つサーバ
キャッシュDNSサーバ=みんなのために問い合わせてキャッシュする代理人
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
確かに SIEM と SNMP は「ログ」や「監視」に関わるので混乱しやすいです。
違いを「何を対象にして、どう使うか」で整理しましょう。
✅ 違いの整理
🔹 SIEM(監視センター)
対象:セキュリティイベント(不正アクセス、ログイン失敗、マルウェア検知など)
やること:
ログを集める(収集)
関連付けて分析する(相関分析)
セキュリティインシデントを検知・対応
イメージ:
「サイバー攻撃の動きを追いかける探偵」
監視カメラの映像(ログ)を一箇所に集めて「怪しい動き」を見抜く。
🔹 SNMP(お医者さん)
対象:ネットワーク機器の稼働状態(ルータ、スイッチ、サーバ)
やること:
CPU使用率、メモリ使用率、トラフィック量を取得
障害が起きたら「Trap」で通知
イメージ:
「機器の健康診断」
心電図や体温(CPUやトラフィック)を測って、異常があればお知らせ。
✅ 両者の比較表
項目 SIEM SNMP
監視対象 セキュリティイベント(攻撃、不正アクセス) ネットワーク機器の稼働状態
情報源 IDS/IPS、UTM、サーバログなど ルータ、スイッチ、サーバのMIB情報
主な役割 ログ収集・相関分析・脅威検知 機器の状態監視・リソース管理
例え 監視センター(探偵) 健康診断のお医者さん
👉 ポイント:
攻撃・脅威を見たい → SIEM
機器の状態を見たい → SNMP
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
✅ 試験によく出るハンドシェイクの種類
- TLSハンドシェイク
サーバとクライアントが暗号方式や鍵を決めるやり取り。
サーバ証明書で正当性を確認。
オプションでクライアント証明書による相互認証。
👉 セキュリティ(暗号通信)分野で頻出。
- TCP 3ウェイハンドシェイク
クライアントとサーバが「接続していい?」「OK」「準備完了!」と3回やり取りして接続を確立。
SYN → SYN/ACK → ACK の3ステップ。
👉 ネットワーク分野で頻出。
- 無線LANの4ウェイハンドシェイク
WPA/WPA2で使われる。
AP(アクセスポイント)と端末の間で暗号鍵を交換し、セッションを開始。
👉 無線ネットワークとセキュリティの境界分野で出題。
✅ 出題パターン
「TLSで暗号化通信を始めるためのやり取りを何という?」 → TLSハンドシェイク
「TCPで接続確立時の3段階のやり取りは?」 → 3ウェイハンドシェイク
「無線LANで暗号鍵をやりとりする手順は?」 → 4ウェイハンドシェイク
✅ 覚え方
TLS → 安全な暗号通信を握手で決める
TCP → 接続の可否を握手で決める
無線LAN → 鍵を握手で決める
👉 「握手=最初の取り決め」って頭に置いておくと混乱しません。
📌 まとめ:
ハンドシェイクは「通信を始める前の約束ごと」。
分野ごとに「何を約束するか」が違うだけ。
「ハンドシェイクってなんでこんなにいろいろ分かれてるの?」って思いますよね。
✅ ハンドシェイクが多い理由
それは 「通信の目的が違う」から です。
どの分野でも「安全に通信を始めるための準備」が必要だけど、やりたいことが違うので手順も変わります。
✅ 主なハンドシェイクの違い
- TCP 3ウェイハンドシェイク
目的:通信の「接続確立」。
「本当に相手が生きてるか」「送受信の準備できてるか」を確認する。
→ SYN → SYN/ACK → ACK の3往復。
👉 ネットワーク基礎で必須。
- TLSハンドシェイク
目的:暗号化通信の「安全性確立」。
「どの暗号方式使う?」「証明書を確認」「鍵を共有しよう」を取り決める。
TCPの上で動くので、TCP接続確立後に追加で行う。
- 無線LAN 4ウェイハンドシェイク
目的:共通鍵(暗号鍵)の「交換と確認」。
アクセスポイントと端末が互いに「同じ鍵を持っているか」を4往復で確認。
WPA2/WPA3のセキュリティで必須。
✅ まとめると
TCPハンドシェイク → つながる準備(通信路を開く)
TLSハンドシェイク → 安全な暗号の準備(暗号ルールを決める)
無線LANハンドシェイク → 無線用の暗号鍵の準備
👉 「握手の数が違う」のは、確認する内容や必要な情報が分野ごとに違うから。
✅ 覚え方のコツ
TCP:通信の土台を作る握手
TLS:セキュリティの握手
無線LAN:暗号鍵の握手
📌 つまり「ハンドシェイク=準備運動」。
でも「何の準備をするか」で手順が違うから、たくさん種類があるんですね。
👉 梅崎さん、これを 3種類のハンドシェイクを1枚の図で比較 したら頭にスッと入りそうですが、作りますか?
あなた:
「本当に相手が生きてるか」「送受信の準備できてるか」を確認する。
→ SYN → SYN/ACK → ACK の3往復。
👉 ネットワーク基礎で必須。 これがなぜ基礎なのもっとくわしく
ChatGPT:
なるほど!「TCPの3ウェイハンドシェイクがなぜネットワーク基礎で必須なのか?」ですね 👍
これはネットワークを理解するうえでの“心臓の鼓動”みたいな仕組みだからなんです。
✅ 3ウェイハンドシェイクが必須な理由
- 信頼性の基礎(TCPの特性)
TCPは「信頼性のある通信」を提供するプロトコル。
信頼性=
データが順序通り届く
データが欠けない
データが壊れない
この「信頼できる通信」を始めるために、最初に接続が本当に可能かを確認する仕組みが必要。
👉 その確認が 3ウェイハンドシェイク。
- 相手が生きているかの確認
ネットワークは「一方的に送ったら必ず届く」わけではない。
途中でサーバが落ちているかもしれないし、ポートが閉じているかもしれない。
だからまず「SYN(接続要求)」を投げて、相手から「SYN/ACK(生きてるよ)」の返事があるか確認する。
- 通信路を確立するための同期(シーケンス番号)
TCPは「どの順番でデータを送るか」を管理するために シーケンス番号 を使う。
3ウェイハンドシェイクで お互いの初期シーケンス番号を交換して同期を取る。
これがあるから「データが順番通り届いたか」を保証できる。
- すべての通信の土台
Web(HTTP/HTTPS)、メール(SMTP/IMAP)、ファイル転送(FTP)など、主要なプロトコルはTCPの上で動いている。
つまり、どんなサービスを使うにもまず 3ウェイハンドシェイクからスタート。
だから「ネットワーク基礎」として最初に押さえておくべき必須事項になる。
✅ イメージ例
電話をかけるイメージ:
📞 クライアント「もしもし、聞こえますか?」(SYN)
📞 サーバ「聞こえますよ、そっちも聞こえますか?」(SYN/ACK)
📞 クライアント「はい、聞こえます!じゃあ話しましょう」(ACK)
この「最初のやり取り」がないと、いきなり会話(データ送信)は成立しない。
✅ 4ウェイハンドシェイクの手順(WPA2の場合)
前提:
端末とAP(アクセスポイント)は、共通の PMK(Pairwise Master Key:マスターキー) をすでに持っている。
家庭用なら「Wi-Fiパスワード」から計算済み。
企業ネットワークならRADIUSサーバから配布済み。
この PMK をもとに、使い捨ての PTK(Pairwise Transient Key:一時鍵) を生成するのが目的。
🔹 ステップ1(AP → 端末)
APがランダム値(Nonce)を端末に送る。
端末はこれを受け取って「自分のランダム値」と組み合わせてPTKを計算する準備をする。
🔹 ステップ2(端末 → AP)
端末が自分のランダム値(Nonce)をAPに送る。
APは「自分のNonce」と「端末のNonce」を使ってPTKを計算する。
👉 ここで 両者が同じPTKを生成できる状態 になる。
🔹 ステップ3(AP → 端末)
APは「PTKを正しく計算できたか確認するためのメッセージ」を端末に送る。
これを受け取った端末は、自分のPTKを使って検証。
🔹 ステップ4(端末 → AP)
端末が「私もPTKを正しく計算できました!」という確認応答を送る。
これでお互いに「同じセッション鍵(PTK)を持っている」ことが確認できる。
✅ まとめ図(シンプル化)
AP → 端末:APのNonceを送信
端末 → AP:端末のNonceを送信
AP → 端末:PTKを確認するメッセージ
端末 → AP:PTKの確認応答



