こんにちは、こじろうです。
この記事では、N/Wスペシャリスト平成21年午後Ⅱ問1に挑戦していきたいと思います。
別記事のネットワークエンジニアのススメでも紹介しましたが、文系SEからするとシステムエンジニアよりもネットワークエンジニアになった方が良いキャリアを気づかる可能性があります。
僕自身も、プログラマ➡システムエンジニア➡ITコンサルタントとキャリアチェンジしてきましたが、所々、ネットワークエンジニアとして活動し、成果を出すことに成功してきました。
文系SEのみなさまにも是非、ネットワークの知識を蓄えて頂きたく、IPAが主催しているネットワークエンジニアの資格試験について、僕なりの解答方法と、IPAが公表している模範解答を紹介していきたいと思います。
【この記事でわかること】
- N/Wスペシャリストの問題を解く上で持つべき考え方
- 平成21年午後Ⅱ問1における各設問の考え方
- 1 設問を解き始める前の前提
- 2 問題文を読みながら僕が考えていった内容
- 3 下線部①WEP方式の暗号鍵とは異なり、予測されにくい暗号鍵となっている。
- 4 PCと無線APとの論理的接続である[空欄ア]をポート接続とみなすようにポートの概念を拡張している。
- 5 下線部②有線LANで使用する場合と比べて、接続制御上の問題が少なくなっている。
- 6 EAP/TLS方式の裏側には、[空欄イ]と呼ばれる認証基盤の構築
- 7 クライアントの[空欄ウ]及び認証局証明書…
- 8 [空欄エ]を作成して電子証明書を無効にする。
- 9 下線部③”PCに証明書類をセットするだけでは、ユーザの認証という観点では問題がある”という指摘を受けた。
- 10 無線LANではイーサネットと異なる[空欄オ]方式と呼ばれるアクセス方式が使われている。
- 11 合計[空欄a]µ秒の時間が掛かる。
- 12 IEEE[空欄カ]規格の標準化…
- 13 下線部④認証基盤の構築で用意した配布サーバへの最初のアクセス制御にもIEEE802.1X認証の仕組みを利用することを考えた。
- 14 下線部⑤社員の所属部門が変わった場合の運用が容易
- 15 設問1⑴について…
- 16 設問2⑶について…
- 17 設問2⑷について…
- 18 設問3⑵について…
- 19 設問3⑶について…
- 20 設問4⑴について…
- 21 設問4⑵について…
- 22 設問4⑷について…
- 23 ネットワークの勉強をして良かったなーと思うこと
設問を解き始める前の前提
詳細は以下の記事を読んで頂きたいのですが、過去問に挑戦する前に頭に入れておいて欲しいことが2つあります。参考:【文系SE】ネットワークスペシャリストー解答時のフレームワークー
- 問題文を読みつつ設問を推測する。(設問を読んでから考えていては間に合わない)
- 問題文を読んでいく中で「これ、聞かれるだろうな」と推測する。
それでは、いってみましょう!!😃
問題文を読みながら僕が考えていった内容
下線部①WEP方式の暗号鍵とは異なり、予測されにくい暗号鍵となっている。
設問1の⑵ですが、WPAとWEPで何が違うかというと、一定時間を過ぎると、生成した共通鍵が更新されるところです。
WEPの場合、両者間での通信を暗号化するための共通鍵がもし盗まれた場合、盗んだ側は永遠にずっとその鍵を使って両者の通信を盗聴できてしまいます。
一方、WPAの方は、一定時間を過ぎると両者間で通信を暗号化するための共通鍵を更新します。
そのため、仮に共通鍵が盗難に遭ったり、漏洩しても、一定時間後にはその鍵は利用できなくなっているのです。
但し、この設問では、鍵の生成されるタイミングではなく、暗号鍵そのものの作られ方が問われている。
僕はきづかずトンチンカンな回答を書いてしまいましたが。。
模範解答は、’送り合った乱数を使ってミキシングすることでランダム性を実現したこと’です。
PCと無線APとの論理的接続である[空欄ア]をポート接続とみなすようにポートの概念を拡張している。
設問1の⑶ですが、これは無線LANルータ(アクセスポイント)にPCが接続する際のことを、専門用語で何というか?を問われています。
知っていれば解けるし、どんなに考えても正答は難しい問題です。
※この問題では、珍しく図2の上部に答えが書かれていますが。。
下線部②有線LANで使用する場合と比べて、接続制御上の問題が少なくなっている。
※更新中
設問2⑷ですが、トークを使うことによるセキュリティ上のメリットを問われています。
設問の’トークン内’という言葉がポイントで、トークンを使わないと、トークン外(この場合、PC)で暗号化処理をする必要がある、ということに気がつけるか。
設問1⑴にあったような’クライアント署名’をするには、秘密鍵を使って署名を行います。もし、トークン外(PC内のディスク上)にて暗号化処理を行った場合、パソコンに特殊なソフト(ウィルスとか)が仕掛けられていた場合、秘密鍵の情報を盗難される危険性があります。
一方、トークン内で暗号化処理を完結させていれば、盗難にリスクは限りなく0に近づけることができます。(トークンが格納されているUSBメモリはネットワークに接続しておらず、トークン内に不正なソフトウェアを入れることはほぼ不可能です。)
模範解答は’秘密鍵を読みだすことなく処理ができるため、秘匿性が増す’でした。
EAP/TLS方式の裏側には、[空欄イ]と呼ばれる認証基盤の構築
認証基盤ときたら=PKI(Public Key Infrastructure)=公開鍵暗号基盤です。
通信する両者間で暗号化向けの共通鍵を作り、お互いの通信内容を暗号化/復号化するのではなく、第三者が認証した鍵(公開鍵と秘密鍵)を使って通信を暗号化/復号化する環境を指します。
知っていれば解けるし、どんなに考えても正答は難しい問題です。
クライアントの[空欄ウ]及び認証局証明書…
公開鍵暗号化通信においては、「証明書」を使って認証を行い、認証をパスすれば「鍵」を使って通信を暗号化/復号化することで、他人にやり取りする情報が見られないような仕組みを実現しています。
問題文には既に証明書が記載されているため、この空欄には「鍵」が当てはまりそうですが、公開鍵認証において考慮すべき鍵には「公開鍵」と「秘密鍵」の2つがあります。
どちらを選ぶべきは?それは、上記の認証と暗号化において、証明書と鍵がどのように使われるかの流れを理解していないと正しく選択することはできません
ザックリいうと、クライアントは予め、①サーバ(クライアント)証明書を持っておくことで、「自分がアクセスしているサーバは、第三者(認証局)に認められた、怪しくないサイトだ」、もしくはアクセスしようとしているサーバに対して、「自分はこのクライアント証明書を持っている、あなたが以前アクセス許可を出してくれたクライアント本人です!」と証明・認証作業を実施します。
無事に認証が終わったら次はデータやり取りですが、ここでクライアント側は、自分の「秘密鍵」でデータを暗号化し、サーバ側は「公開鍵」でデータを復号、データの中身を確認します。
以上から、クライアントが保持しておくべきは「秘密鍵」であるため、模範解答も’秘密鍵’となります。
参考:クライアント証明書
参考:公開鍵/秘密鍵
[空欄エ]を作成して電子証明書を無効にする。
電子証明書、無効ときたら、「失効リスト」です。
知っていれば解けるし、どんなに考えても正答は難しい問題です。
下線部③”PCに証明書類をセットするだけでは、ユーザの認証という観点では問題がある”という指摘を受けた。
PCにクライアント証明書を設置すると、’確かにサーバ側から許可された端末であること’は証明できます。
一方で、その端末のログインアカウントが何等かの理由で漏洩、もしくは盗難に遭い、部外者がこの端末を操作してしまっている場合は、適切なユーザ認証はできなくなります。
僕は’そのPCの所有者でない人が、そのPCにログインできてしまうこと’と書いたのですが、模範解答は’許可されていない利用者でも当該PCを使えばネットに接続できること’となっています。
他の問題も同じなのですが、ネットワークスペシャリストの解答は、’結局、どんなメリット/デメリットがあるの?’というところまで書けていないと満点がもらえないようです。
この設問の場合、焦点は’ネットへの接続をいかに制御/許可するか’にあるわけですから、ネットに接続できるかどうかの記載は外せないでしょう。
無線LANではイーサネットと異なる[空欄オ]方式と呼ばれるアクセス方式が使われている。
無線LAN vs イーサネット、つまり無線LAN vs 有線LANの話となります。
通信時に流れるパケットは、複数の人が同時に利用した場合、パケット同士が衝突してデータが損失することがあります。
この現象を防ぐために、無線LANと有線LANではそれぞれ対策が施されており、設問では’無線LAN側ではどんな方策(アクセス方式)を立てているでしょうか?!’という問題になります。
模範解答はCSMA/CAなのですが、詳細な説明は以下のリンクに非常に詳しく記載されておりますので、お時間許せば是非、ごらんください。
参考:CSMA/CA
参考:CSMA/CD
合計[空欄a]µ秒の時間が掛かる。
※更新中
設問3⑸ですが、問題文よりCTSフレームは1Mbpsで送信される144ビットのプリアンブル部と、48ビットの物理ヘッダ部と、11Mbpsで送信されるMACフレーム部(CTSフレーム)14バイトの送信時間の合計です。
プリアンブル部:144ビット ➡1Mbpsで送信される
物理ヘッダ部:48ビット ➡1Mbpsで送信される
MACフレーム部:14バイト(14*8=112ビット) ➡11Mbpsで送信される
3の情報の送信に要する時間を求められていますので、
プリアンブル部 & 物理ヘッダ部
144 + 48 = 192ビット / 1Mbps(106bit/s) = 192µs
MACフレーム部
14バイト(14*8=112ビット) / (11*106bit/s) = 112(bit) / 11*106(bit/s) = 10.2µs
以上より、192(µs) + 10.2(µs) = 202.2(µs)
小数点以下は切り上げるよう、設問記載があるため、模範解答は203(µs)となります。
IEEE[空欄カ]規格の標準化…
※更新中
設問3⑴ですが、空欄カの1行上に’IEEE802.11gより高速…’とあるため、以下の表からも解答の候補はIEEE802.11nかIEEE802.11acに絞られます。
また、この問題が出題された平成21年時点では、IEEE802.11acは標準化されていなかったため、解答はIEEE802.11nとなります。
下線部④認証基盤の構築で用意した配布サーバへの最初のアクセス制御にもIEEE802.1X認証の仕組みを利用することを考えた。
※更新中
設問4⑶ですが、
設問を考えていく前に、なんでわざわざRADIUS認証をするのか、今さらですがちょっと考えてみると…
- より複雑な認証方式を実現できる
- 無線アクセスポイントが増えた時も認証設定の管理が楽(1か所(サーバ)にまとめられる
問題文を読んでいくと、IEEE802.1X(RADIUS)認証ではアカウントIDとパスワードの組み合わせだけではなく、証明書を使ってユーザ認証を行うことが分かります。
そのため、ログインするユーザは、証明書を保持していないとログインできず、本設問では’ログインするユーザはどうやって証明書を取得するんだ?毎回ログインするたびに、担当者が「これどうぞ」なんて渡すのは面倒くさすぎるし、そんなところに人件費は当てられないぞ!(ここまでは書いていないけど…)’という点が問われています。
こういった、初めて来るお客さんに一時的にアクセスを渡す方法は、初めていらした、まだ証明書を持っていない方でもアクセスできるサーバを用意し、そのサーバから証明書をお客さん(ユーザ)へ送ってあげる(実際はダウンロードさせてあげる)のです。
カフェとか、Wi-Fi完備のお店もこの方式でお客さんにネットワークへのアクセス権を付与していますね。
具体的な証明書配布流れとしては、
- ユーザが無線アクセスポイント(無線AP)へアクセス
- 無線APはRADIUSサーバへ、今アクセスしてきたユーザはアクセス許可して良いか問い合わせ
- RADIUSサーバは、①のユーザはアクセスに必要な証明書を保持していないのでアクセス拒否する旨を無線APへ返答
- 無線APは、まだ証明書を保持していないユーザでもアクセスできるサーバ画面(ネットワーク・VLAN)へ誘導
- サーバ画面上で’ネットワークへアクセスするためにはこのボタンを押して証明書をダウンロードしてください’といったボタンがあるため、ユーザはそれをクリックし、証明書をダウンロード
- 最初の手順に戻り、今度は証明書を保持しているためRADIUS認証に成功、ネットワークへの参加、ログインが成功
となります。
模範解答は、’無線APが認証失敗した時に割り当てるVLANに配布サーバを設置する。’
下線部⑤社員の所属部門が変わった場合の運用が容易
※更新中
設問4⑸ですが、下線部④の設問4⑶の’なぜRADUISを利用するのか?’が解答の要素になってきます。
代替、システム導入やネットワーク設計を変えたりする時のメリットって、実業務が楽になる(スピードを上げられる)か、管理が楽になるかのどちらかなんですが、今回は管理(運用)側に着目した設問です。
- より複雑な認証方式を実現できる
- 無線アクセスポイントが増えた時も認証設定の管理が楽(1か所(サーバ)にまとめられる
具体的にどのように運用・管理作業が楽になるかというと、上記➁の通り、設定箇所が1か所なので、何か変更がかかっても作業対象は1か所で済む、という点です。
もし、RADIUSを使わずそれぞれの無線APで認証を実施していると、認証の設定を変えるとなったら、全ての無線AP一つ一つ、シリアルポートを繋いで設定を変える必要が出てきます。2~3個なら問題ありませんが、10個、20個、100個とかなってくると、それだけで1か月くらいかかってしまいます。
問題文には、アクセス権限を保持する社員が異動するので、アクセスできるネットワークを変更する必要がある…といった内容がありますので、付与するVLAN IDを、RADIUS認証サーバ上1か所のみで切替てあげる旨を記載します。
模範解答は、’認証サーバ内の該当社員に付与するVLAN IDの設定を変更するだけで済む’
でした。
設問1⑴について…
PCがクライアント証明書を送出するシーケンスはどれか問われています。
一見、IEEE802.1X(RADIUS)の稼働シーケンスを知らないと解けなさそうに見えますが、問題文、並びに図2を注意深く見ていくとヒントがあり、解答することができます。
まず、問題文にて”認証方式(今回はEAP-TLS)が決定すると、PCと認証サーバ間で電子証明書が送受信され…”という記載がありますね。更に、図2の⑨⑩の右側に”認証方式の決定”という文言がありますね。
つまり、電子証明書(クライアント証明書)のやり取りは、⑨⑩の後に行われることが分かります。
⑨⑩以降で、PCから矢印が出ている処理は⑫になります。
模範解答は’⑫’でした。
設問2⑶について…
問題文を読んでも、解答に繋がるような記載がない場合は、’力技’の解答でいくしかありません。
そんなの当たり前(性善説、もしくは根性論)じゃん!と思えるような策が解答となることも結構あります。
この設問では、許可されていない利用者でも該当PCを使って不正接続ができてしまうという問題の解決方法を問われているため、どうにかしてPCに対して本人以外知りえないパスワードを設定するのが良いでしょう。
模範解答は、’PCへの利用者パスワードの設定を徹底する’
でした。
設問2⑷について…
※更新中
セキュリティ関連の問題では、’盗聴➡盗難➡なりすまし➡侵入・攻撃…’の順に脅威にさらされる、ということです。
設問の’セキュリティ上の利点’とは、この脅威を未然に防げることを意味しています。
また、全ての脅威は’盗聴’から始まります。(情報が漏れていないのに’なりすまし’や’攻撃’されることはあり得ません)
つまり、設問にある、’トークン内で暗号化を行う…’で、情報が漏洩する可能性を低減できるのだけれど、具体的に説明して!という設問なのです。
なぜ、トークン内で暗号化を行うと情報が漏洩しない、ということは、トークン外のサーバや機器で暗号化を行うと、暗号化したパケットがネットワークを経由している途中で何者かに盗聴・盗難されるリスクは確かにあります。
設問3⑵について…
※更新中
自己CTSの場合、RTS/CTS方式と比べて衝突を回避できない場合は何か?を問われています。
RTS/CTSの利用における主な目途が、’隠れ端末問題’であることを知らないと解答は難しいかもしれません。
模範解答は、’端末間で電波が直接届かない位置関係にある場合’
でした。
設問3⑶について…
※更新中
まず、図3中の制御フレームは全部で3つなわけですが、それぞれどういった場合に利用されるか確認します。
RTS:無線端末からAPへ送信される、衝突回避を実現するフレーム
CTS:衝突回避のために、同一無線APに接続する全ての端末へ送信される。
ACK:無線端末間でコネクションを貼る、もしくはデータのやり取りをする時
問われているのは’同一無線APに接続する全ての端末へ送信される’フレームのため、模範解答は’CTS’になります。
設問4⑴について…
※更新中
VLANはいつ有効になるのでしょうか?それは、’認証が完了した後’です。
認証が完了していないのに、端末に対して各VALNへのアクセスを有効化してしまったら、認証機能を実装している意味がありませんしね。
図2いおいて、認証サーバから認証完了(成功)を示すアクションがなされるのは、関連するメッセージが送出される⑱以降になります。
模範解答は’⑱’でした。
設問4⑵について…
※更新中
何を問われているか非常にわかりにくい設問ですが、ここで主に問われているのは、
- 認証には、無線APにて、アクセスしてくる端末のMACアドレスと、当該端末がログイン可能なVLANの対照表を用意しておき、対象の端末がログインしてきたら、対照表に沿って該当のVLANへのアクセス権を付与する
- 無線APでは特に認証作業は実施せず、認証サーバ側でログインしてくるユーザ(端末のMACアドレスではない)とログイン可能なVLANの対象表を用意しておき、対象のユーザがログインしてきたら、対照表に沿って該当のVLANへのアクセス権を付与する
認証方法には主に上記二つが考えられるが、IEEE802.1Xを利用する➁の設定内容を、55字以内で書いてみましょう。
という問題でした。
模範解答は’ESS-IDには同一のIDを設定し、認証サーバから通知されたVLAN IDを無線APにセットする。’
でした。
設問4⑷について…
※更新中
これは証明書サーバを設置・運用したことが無いと解答は難しかったかもしれません。
こういった証明書の配布サーバは、漏洩を防ぐため、通常1回しかダウンロードできないようになっている(するべき)のです。(Windows Serverの証明書配布機能も、たしかデフォルトでそうなっている。)
模範解答は、’ダウンロードされた証明書は、それ以降ダウンロードできないよう削除する’
でした。
ネットワークの勉強をして良かったなーと思うこと
ITコンサルタントとしての現場において、プロジェクト内でトラブルシューティングやシステムインフラ設計において最も頼られる存在になり、安定した案件・プロジェクトアサインが実現できるようになりました。
参考:コンサルファームでアベイラブルになったら
文系SEであっても、こういった知識があると一目置かれた存在になれますし、キャリアアップの一助になります。
実際、僕はプログラマ➡SE(ネットワークエンジニア)➡ITコンサルタントとキャリアップしてきましたが、ITコンサルタントとして活動している今も本記事の様な技術的な部分を大事にしているため、’他のコンサルタントとは差別化された人材になれているな’と感じています。
本記事は技術的な内容でしたが、キャリアに関する情報をお探しの方はこちらも是非、ご覧ください。
参考:【文系 SE】ネットワークエンジニアのすすめ
それでは、Tchau◎
こじろう