本稿ではIPA試験で必要とされる知識をまとめます。
ネットワークインタフェース関連
Bluetooth/Zigbee/無線LANを比較せよ
Bluetooth | Zigbee | 無線LAN | |
---|---|---|---|
規格 | IEEE 802.15.1 | IEEE 802.15.4 | IEEE 802.11n/ac |
主な一次変調 | PSK/DQPSK | QPSK | BPSK/QPSK/QAM |
主な二次変調 | FHSS | DSSS | MIMO-OFDM |
最大到達範囲 | 10m | 30m | 100m |
最大スループット | 3Mbps | 250kpps | 6.93Gbps |
アナログ電話回線とADSLの違いはなにか
電話回線はアナログ回線のうち音声帯域のみを抽出した回線であり,ADSLはそれ以外の帯域を活用した回線である。電話局の交換機手前までの回線にスプリッタと呼ばれる分配器を設置して音声帯域とデータ通信用の帯域を分離・混合する。ADSL以外のVDSL/HDSL/SDSLを総称してxDSLと呼ぶこともあるが,ADSLが最も普及していた方式である。
CSMA/CDとCSMA/CAの違いを述べよ
方式 | 詳細 | ユースケース | |
---|---|---|---|
CSMA/CD | 衝突検出 | ランダムな時間経過後に再送を行う | 衝突の検出が信頼できる |
CSMA/CA | 衝突回避 | 全てのデータの送信前にランダムな時間を挿入する | 衝突の検出が信頼しにくい |
1000BASE-Tと1000BASE-TXの大きな違いを説明せよ
1000BASE-Tは4ペアそれぞれが送受信兼用となっており,1000BASE-TXは2ペアが送信専用,もう2ペアが受信専用となっている。Xなので「クロス」を想像して送受信兼用と誤解しやすいため注意する。送受信兼用の1000BASE-TではIのような文字をイメージし,送信専用と受信専用が別々の1000BASE-TXではXという文字をイメージするとよい。
リピータとL2スイッチの違いを説明せよ
- リピータ:波形を整形して転送するだけ。エラーはそのまま転送する。
- L2スイッチ:エラーフレームをチェックして転送する。エラーは破棄する。
オートネゴシエーションとAutomatic MDI/MDI-Xの違いを説明せよ
- オートネゴシエーション:全二重/半二重の識別や接続先ポートの速度を自動判別
- Automatic MDI/MDI-X:ストレートケーブル/クロスケーブルを自動判別
アクセスポートとトランクポートの違いを説明せよ
- アクセスポート:ポートVLAN
- トランクポート:タグVLAN
アクセスポートで許可するVLAN IDは1つのみで,トランクポートで許可するVLAN IDは複数となる。いずれもホワイトリスト形式であることに注意。
IP関連
IPv4とIPv6の代表的な違いを説明せよ
- 可変長のオプションフィールドを拡張ヘッダーに切り出して固定長に変更
- ヘッダーのフィールド数を削減
DHCPのプラグ&プレイ機能についてIPv6とIPv4の違いについて述べよ
IPv4のプラグ&プレイ機能はDHCPに内包されているが,IPv6ではICMPv6の近隣探索で実現する。
IPv4/IPv6/TCP/UDP/RTPのヘッダ長を述べよ
- IPv4:20byte
- IPv6:40byte
- TCP:20byte
- UDP:8byte
- RTPヘッダ:12byte
TCPヘッダ長=UDPヘッダ長+RTPヘッダ長と覚える。
6to4/ISATAP/Teredoをそれぞれ説明せよ
6to4はグローバルIPv4アドレス(32bit)と割り当てたIPv6プレフィックス(16bit)を組み合わせてIPv6アドレスを生成し,IPv4パケットをIPv6パケットでカプセル化する。IPv4アドレスをIPv6アドレスの中に埋め込む手法である。6to4を利用するためには6to4リレールータが必要になるほか,IPv4グローバルアドレスが必要になるためNAT配下では利用できない。ISATAPは6to4をプライベートIPv4アドレスでも利用できるように改良した手法であるが,6to4同様にNAT配下では用いることができない。TeredoはIPv6パケットをIPv4のUDPメッセージに加工して送信する技術で,NAT配下でも利用することができる。ただし,NAT環境の判別や送信先情報を取得するためにTeredoサーバを経由する必要があったり,Teredoリレールータを用いる必要があったりするなど,やや複雑な構成になることに注意する。
IPv4とIPv6でブロードキャスト通信にはどのような違いがあるか
IPv6ではブロードキャストは廃止された。IPv6ではマルチキャストを使って同報通信を実現する。
ルーティング関連
BGPとBGP-4の違いを説明せよ。
BGPとBGP-4はほぼ同義で用いられている。BGP-4は1994年に提案されて2006年にはRFC 4271に更新されており,BGPのデファクトスタンダードとなっている。BGP-4以前のBGPを詳しく知る必要性はそこまでない。
RIPとRIP2/OSPFでルーティング情報の更新に使う通信の種類は何か
- RIP:ブロードキャスト
- RIP2/OSPF:マルチキャスト
TCP/UDP関連
TCPとUDPを使うプロトコルをそれぞれできる限り列挙せよ
- TCP:HTTP/SMTP/POP3/SSH/FTP/Telnet/DNSゾーン転送...
- UDP:DNS問合せ/SNMP/DHCP/TFTP/NTP...
UDPを用いるプロトコルをおさえてしまい,それ以外がTCPと理解すると分かりやすい。
FCSとIP/TCP/UDPのヘッダチェックサムのバイト長・計算対象・要不要を述べよ
FCS | IP | TCP | UDP | |
---|---|---|---|---|
バイト長 | 4byte | 2byte | 2byte | 2byte |
対象 | Ethernetフレーム全体 | IPヘッダ | データ全体 | データ全体 |
要不要 | 必須 | 必須 | 必須 | 推奨 |
TCPがUDPと異なる部分を一言で表すとどのようになるか
再送機能があるかどうか
FCoEではTCPとUDPのどちらを用いるか
どちらも用いられない。FCは高品質の光ファイバで基本的にはビット誤りはゼロであるという仮定があるため,FCoEではIPによるルーティングは行われない。物理層ではイーサネットを拡張したプロトコルが利用され,以下の仕様が含まれている。
- IEEE 802.1Qbb:優先度ベースフロー制御(PFC)
- IEEE 802.1Qaz:トラフィックごとの帯域制御(ETS)
- IEEE 802.1DCBX:スイッチ間の情報交換プロトコル(DCB)
- IEEE 802.1Qau:輻輳通知
ただし,DCBXはData Center Bridging Exchangeの略称である。
DNSはTCPとUDPのどちらを利用するか
どちらも利用する。512byteを超える応答やゾーン転送に対してはTCP/53,主にそれ以外の通信に対してはUDP/53が利用される。
OpenFlowコントローラとスイッチ間の通信はTCPとUDPのどちらを利用するか
TCP
VPN関連
代表的なWANサービスとそのキーワードを述べよ
レイヤー | サービス名 | 技術 |
---|---|---|
データリンク層 | 高域イーサネット | VLAN |
ネットワーク層 | IP-VPN(閉域VPN) | MPLS |
ネットワーク層 | インターネットVPN | IPSec |
PPTPとIPsecの違いを述べよ
レイヤー | 送受信のトンネル | セキュリティ | |
---|---|---|---|
PPTP | データリンク層 | 同一 | × |
IPsec | ネットワーク層 | 別々 | ○ |
トンネルはSA(Security Association)と呼ばれることもある。
IPsecとSSL-VPNの違いを述べよ
- IPsec:ESPヘッダを使ってレイヤ3で認証・暗号化
- SSL-VPN:TCPのポート番号443を使ってレイヤ4で認証・暗号化
IPsec-VPN/SSL-VPN/VDIの違いを説明せよ。
VPNはネットワーク仮想化を表し,VDIはデスクトップ仮想化を表す。IPsec-VPNはネットワーク層におけるVPNであり,任意のルータ間のネットワーク仮想化を行う。SSL-VPNはセッション層におけるVPNであり,ブラウザ・サーバ間のネットワーク仮想化を行う。IPsecはモードによってブラウザ・サーバ間の仮想化を行うこともできる。
アプリケーション関連
ICMPとHTTPの関係について述べよ
HTTPでICMPが使われるという関係
FTPを暗号化したプロコトルを二つ述べよ
- SFTP:SSH
- FTPS:SSL/TLS
SSHだから頭にS,TLSだから後ろにSと理解する。
TFTPとFTPの違いを二つ述べよ
- TFTPはユーザ認証をしない
- TFTPはTCPではなくUDPを利用する
MQTTをHTTPと対比させながら説明せよ
HTTPにおけるクライアントは,MQTTでは送信者であるpublisherと受信者であるsubscriberに分かれる。HTTPにおけるサーバはMQTTではブローカーと呼ばれ,publisherとsubscriberを中継する役割を果たす。MQTTではpublisherがメッセージをpublishするとき,もしくはsubscriberがメッセージをsubscribeするときにメッセージの品質を指定するQoSレベルを設定できる。MQTTヘッダは数十バイトであり数百バイトのHTTPヘッダと比べて軽量であることから,HTTPと比べて使用電力やデータ量が少ないプロトコルとなっている。
HTTPの1.0/1.1/2/3の特徴をそれぞれまとめよ
HTTP | 特徴 | 弱点 |
---|---|---|
1.0 | ・テキストファイル以外への対応 ・リクエスト/レスポンスの形式策定 | 毎回TCPコネクションを張ること |
1.1 | ・キープアライブ ・パイプライン(リクエストを連続させる機能) | パイプラインを並列できない |
2 | ・バイナリ形式によるオーバーヘッド削減 ・ストリームごとの並列処理(マルチプレキシング) ・HPACK(メッセージヘッダーの圧縮) ・サーバープッシュ(必要となるファイルの予測送信) | TCPの仕様に基づくボトルネック |
3 | ・UDPを採用することによるTCPハンドシェイク廃止 ・TLA1.3を採用することによるTLSハンドシェイク軽量化 | - |
HTTP/2はHTTP/1.1のパイプラインを改善したが,HTTP/3は更に何を改善したか
HTTP/2では,リクエストの順番とレスポンスの順番が同じでなければならないというHTTP/1.1の制限をストリームの導入によって改善したが,1つのTCPコネクションでしか通信できないというHTTP/2の制限がボトルネックとなっていた。具体的には,パケットの再送中は後続のパケットを送れなくなっていた。そこで,HTTP/3ではTCPの代わりにUDPを利用し,複数のストリームを並列してパケットを送れるようにした。
HTTP/2とHTTP/3の違いをまとめよ
変更点 | 詳細 |
---|---|
遅延最小化 | TCPハンドシェイク+TLSハンドシェイクをTLSハンドシェイクのみに変更した トランスポート層をTCPからUDPにすることにより実現 |
再送時ボトルネック解消 | ストリームの並列化を可能にした コネクションを1本しか張れないTCPからUDPにすることにより実現 |
暗号化範囲拡大 | L4ヘッダも暗号化範囲できるようになった TCPをUDPにした上でTLS1.3のハンドシェイクを利用することにより実現 |
ネットワーク切り替え対応 | コネクションIDで接続の識別子を管理することにより実現 |
メールに関するプロトコルを構造化してまとめよ
種別 | プロトコル |
---|---|
送信 | SMTP POP before SMTP SMTP AUTH |
受信 | POP3 APOP IMAP4 |
SIP/SDP/RTP/音声/動画の関係性を図示せよ
呼制御にSIPが利用され,SIPのボディ部の記述方法を定めたものがSDPである。SDPの中でデータをやり取りするためのプロトコルであるRTPが利用されるという関係。
VoIPとそれにまつわるプロトコルを階層化してまとめよ
種別 | プロトコル | 形式 |
---|---|---|
呼制御データ | H.323 | バイナリ |
SIP/SDP | テキスト ※ ボディ部はSDPでプロトコルやポート番号を記述 | |
音声データ | RTP | UDP+シーケンス順序管理+タイムスタンプ |
IoTの代表的なプロトコルを二つ答えよ
- CoAP(Constrained Application Protocol):性能が限られた機器でも効率的に通信を可能にする
- MQTT(Message Queuing Telemetry Transport):メッセージングのための軽量プロトコル
MQTTは「メッセージ」がキーワードである。
SIPとRTPの通信経路の違いは何か
SIPはIP-PBXやSIPサーバを経由し,RTPはUA同士が直接通信する
VoIPで利用される音声符号化方式を二つ挙げ,それらを説明せよ
- PCM:音声を信号レベルのデジタルデータで再現。64kbps。
- CS-ACELP:音声を予め用意しておいたデジタルパターンで再現。8kbps。
CS-ACELPはコードブックからパターンを比較するリードタイムがかかるため,ビットデートはPCMよりも大幅に遅くなる。高速な回線であればPCM,低速な回線であればCS-ACELPという使い分けを行う。なお,コードブックのパターンを利用するアイディア自体はACELPであり,CSは共役構造のことを指している。共役構造を利用することにより,メモリ節約や計算効率化を実現している。
2G時代はACELPの進化前であるVSELP,およびVSELPのビットレートを半分にしたPSI-CELPが利用されていた。これらは同じくコードブックを利用する方式であり,音量や音質を表す適応符号帳と五十音などの違いを示す雑音符号帳を使い分けていた。特定ビットの損失によって激しく音質が低下するため,ビットによって誤り訂正の優先度を調整する「不均一誤り訂正」と呼ばれる仕組みが導入されていた。
セキュリティ/監視関連
TLS1.2と1.3の違いを説明せよ。
TLS1.3はTLS1.2と比べて下記のような違いがある。
- セキュリティ強度の高い暗号アルゴリズムを強制
- 暗号化には認証付き暗号の一つであるAES-GCM(Galois/Counter Mode)を利用
- 鍵交換にはDHE(Ephemeral Diffie-Hellman)およびECDHE(Ephemeral Elliptic curve Diffie–Hellman key exchange)を利用
- 暗号スイートから「鍵交換_署名」を除き「暗号化_ハッシュ関数」の組で表す
- セッションのネゴシエーション方式の変更
- Session Ticketに基づくセッション再開の廃止
- 1往復のハンドシェイクで暗号化通信可能(1.2では2往復していた)
TLS1.3において「鍵交換_署名」の情報は,Client Helloに含まれる拡張属性で指定する。
TLS1.2/TLS1.3における共通鍵の生成方法を簡単に説明せよ。
クライアントで生成した乱数・サーバで生成した乱数・クライアントで生成したプリマスタシークレット(鍵のもとになる乱数)の三つの情報から共通鍵を生成する。TLS1.2では,クライアントで生成した乱数・サーバで生成した乱数・プリマスタシークレットという順番で,二往復のネゴシエーションを行う。TLS1.3では,クライアントで生成した乱数とプリマスタシークレット・サーバで生成した乱数という順番で一往復のネゴシエーションを行う。
TLSのバージョンと具体的なハッシュアルゴリズムをまとめよ
- TLS1.0/TLS1.1:MD5/SHA-1
- TLS1.2:SHA-256
- TLS1.3:SHA-256/SHA-384
SPFとDNSの逆引きの違いを述べよ
何を | どこから | |
---|---|---|
SPF | 送信サーバのIPアドレス | DNSのSPFレコード |
逆引き | 受信サーバのIPアドレス | DNSのPTRレコード |
DKIM/SPF/POP before SMTPの違いを述べよ。
- DKIM:受信側で送信元メールサーバのディジタル署名を検証する技術
- SPF:受信側で送信元IPアドレスを元に正当性を検証する技術
- POP before SMTP:通信前に認証を行うことで一定期間メールの送信が可能になる仕組み
電子メールのセキュリティリスクとその対策を洗い出せ
分類 | リスク | 対策 |
---|---|---|
全体 | 本文が暗号化されていない | S/MIME・SMTPS |
送信 | 認証機能がない | POP before SMTP・SMTP AUTH |
送信元が詐称される | SPF・DKIM | |
大量のメールが送信される | OP25B | |
受信 | 認証パスワードが暗号化されていない | APOP・POP3S |
EAP-TLSとPEAPの違いを表にまとめよ
方式 | サーバ認証 | クライアント認証 | 特徴 |
---|---|---|---|
EAP-TLS | サーバ証明書 | クライアント証明書 | 安全性が高いが証明書の管理に手間がかかる |
PEAP | サーバ証明書 | ID/パスワード | 安全性は高くないが証明書の管理が楽 |
いずれもサーバ認証はサーバ証明書を利用する。クライアントがルート証明書を持っていない場合に,PEAPではサーバ認証を省略してID/パスワード認証のみで接続できる仕様になっているものもある。
EAPとRADIUSの違いは何か
- EAP:サプリカント↔︎Authenticatorの認証要求/認証許可の通信プロトコル
- RADIUS:Authenticator↔︎認証サーバの認証要求/認証許可の通信プロトコル
RADIUSと並列のプロトコルとしてLDAPも使える。
PSK/IEEE 802.1X/PEAP/EAP-TLSを構造化せよ
WPA2では
- PSK認証(パーソナルモード)
- IEEE 802.1X認証(エンタープライズモード)
の二つがあり,IEEE 802.1X認証には
- PEAP(ユーザID/パスワードによる認証)
- EAP-TLS(クライアント証明書による認証)
がある。
デバイスの監視方法に関して二つの下位互換方式と一つの上位互換方式を述べよ
- 下位互換方式:ping+SYSLOG
- 上位互換方式:SNMP
pingはサーバがダウンしている/していない程度しか検知できず,複数のポートがある場合などは対応が不可能である。SYSLOGはデバイス側から監視サーバへの単方向的な監視に限られてしまう。SNMPでは監視サーバから能動的にデバイスの情報を取得できるだけでなく,ポートごとの監視も可能になる。
WPA2とWPA3の違いを述べよ
WPA2はIEEE802.11iの必須部分を実装したAESベースのプロトコル。パスワードは利用者間で共有する方式で,AESはデータをある一定の長さに分割して置換と並べ替えを繰り返す暗号化アルゴリズムのことを指す。WPA2では中間者攻撃を用いるKRACKsという攻撃に対して脆弱性が存在する。WPA3では楕円曲線暗号を用いた認証および鍵交換の方式であるSAEを利用してWPA2の脆弱性を克服する。
EAP/RADIUS/SSID/WPA2では暗号化通信の機能が規定されているか
- EAP:PPPの拡張認証プロトコルで暗号化通信の機能はない
- RADIUS:認証と利用ログの記録を行うプロトコルだが暗号化通信の機能はない
- SSID:APと端末に設定する識別子
- WPA2:TKIP(Temporal Key Integrity Protocol)を使用して動的に暗号鍵を更新する
802.1X認証における各層ごとのプロトコルを可視化せよ
TLS・PGP・S/MIMEの違いを説明せよ
TLSは通信を暗号化し,PGPとS/MIMEはメールを暗号化する。PGPは「信頼している秘密鍵で署名されている公開鍵は同様に信頼できる」というWeb-of-trust(信頼の輪)に基づいているが,S/MIMEは認証局による署名に基づいている。
STARTTLSとSMTPSの違いを説明せよ
- STARTTLS:SMTPのポート番号(25 or 587)を利用し,クライアントとサーバの双方がSTARTTLSに対応していることを確認してからTLS化を行う
- SMTPS:SMTPのポート番号以外のポートを利用し,最初からTLS通信上でSMTPを動作させる
HTTPSとSTARTTLSの違いを説明せよ
HTTPSは相手がSSL/TLSに対応していなくても一方的にハンドシェイクを仕掛けるが,STARTTLSではSMTPSにお互いが対応していることを確認してからハンドシェイクを行う。
SMTPSとSMTP over SSL/TLSの違いは何か
同じ
SAMLとOpenID Connectの違いを簡単に説明せよ
方式 | 形式 | 利用者同意 | 利用者↔︎IdP | 利用者 |
---|---|---|---|---|
SAML | XMLベースの証明書 | × | 利用者→IdP | 企業内のユーザ |
OpenID Connect | JSONベースのトークン | ○ | IdP→利用者 | Webサービスの消費者 |
SAMLはドメイン間で認証情報を安全に交換するためのプロトコルであるためSSOという用途としてはオーバースペックで,XMLを利用するためやや扱いにくい。OpenID ConnectはREST形式のAPIベースであるためWebサービスに組み込みやすく,JSON(JWT)を利用しているため扱いやすい。SAMLはIdPとサービス提供者(SP)の証明書を利用するが,OpenID Connectはトークンベースで認証を行う。SAMLは情報連携に利用者の同意を得ないが,OpenID Connectは利用者の同意を得る。SAMLはサービス提供者(SP)が利用者をIdPへリダイレクトさせて認証するが,OpenID ConnectはIdPが利用者を直接認証する。SAMLは企業内で使われ,OpenID Connectは消費者に使われる傾向にある。例は以下の通り。
- SAML:企業内のIdPにログイン後Slackにログイン(ADで管理されたユーザ向け)
- OpenID Connect:Facebookにログイン後Instagramにログイン(Webアプリで管理されたユーザ向け)
OAuth・SAML・OpenID Connectを構造化せよ
- OAuth:認可のための方式
- SAML:SSOを実現するための方式
- OpenID Connect:SSOを実現するためにOAuth 2.0を拡張した方式
DNSキャッシュポイズニングとカミンスキー攻撃の違いを説明せよ
- DNSキャッシュポイズニング:標的サーバの偽IPアドレス(Aレコード)をキャッシュさせる
- カミンスキー攻撃:標的権威DNSサーバの偽IPアドレス(NSレコード+Aレコード)をキャッシュさせる
カミンスキー攻撃では存在しないサブドメインの名前解決を要求したり大量のクエリIDを送りつけたりすることで,DNSキャッシュポイズニング対策を回避しようとする。そのため,送信元ポート番号を53に固定するのではなくランダム化し,電子署名を使って正当な権威DNSサーバであることを確認(DNSSEC)する必要がある。キャッシュDNSサーバと権威DNSサーバ間の通信は盗聴や中間者攻撃の恐れがあるため,HTTPS通信を利用するDoH(DNS over HTTPS)が利用される。
SSHとTLSの違いを説明せよ
SSHは裸の公開鍵を扱いTLSはPKI基盤上の証明書で公開鍵を扱うため,SSHでは公開鍵の管理はクライアント側の責務となる。SSHはアプリケーション層までまたがるプロトコルであり,TLSはトランスポート層のプロトコルである。他にも,SSHではユーザ認証が必須であり,TLSではクライアント認証はオプションである。
KRACKsとPOODLEの違いは何か
- KRACKs(Key Reinstallation AttaCKs):WPA2の脆弱性を突いた中間者攻撃
- POODLE(Padding Oracle On Downgraded Legacy Encryption):SSLの脆弱性を突いた中間者攻撃
いずれも原義を理解すると覚えやすい。一般にセキュリティプロトコルは
- ハンドシェイク
- 暗号通信
の2つのフェーズに分けられるが,WPA2の脆弱性はハンドシェイク,POODLEの脆弱性は暗号通信にある。KRACKsは鍵再インストール攻撃の総称であり,異なるパケットで同一の乱数を発生させることで鍵を解析する情報を得る攻撃である。
SSLで利用するCBCには「最後のバイトにパディング長を入れる」という仕様がある。POODLEはこの仕様を悪用し,暗号文の末尾を徐々に復号する攻撃である。なお,CBCは暗号利用モードとも呼ばれ,ブロック暗号の強度を高めるために導入されるオプションのことを指す。CBCは認証機能を持たないためGCMやCCMを利用する流れになっている。
FWとWAFの違いは何か
FWはネットワーク制御を行い,WAFはWebアプリケーション用FWである。DNSサーバやメールサーバへの攻撃はWAFでは防げないためIDSやIPSを利用する。FWをWAFと読み間違えないようにする。
用語使い分け関連
チェックサムとFCSの違いを述べよ
チェックサムはIPとTCP/UDPのヘッダで利用される誤り検知方式で,同時にアルゴリズムのことも指す。FCSはイーサネットのヘッダで利用される誤り検知方式で,アルゴリズムはCRCを利用することが多い。
フラグシーケンスとフレームチェックシーケンスの違いは何か
- フラグシーケンス:HDLCにおけるフレームの開始と終了の合図
- フレームチェックシーケンス:伝送誤りの検知(FCS)
パケット/フレーム/データグラム/セグメント/メッセージの違いを述べよ
- パケット:汎用性の高い用語
- フレーム:データリンク層のパケット
- データグラム:ネットワーク層以上におけるパケット単位のデータ構造
- セグメント:ストリームベースのTCPに含まれるデータ
- メッセージ:アプリケーションプロトコルのデータ単位
コメント