← メディア一覧

公開鍵とIP計算と正規化の完全攻略

15分38秒 | 試験制度FE

基本情報技術者試験の頻出テーマを解説した音声コンテンツです。

トランスクリプト(字幕テキスト)

こんにちは、ザ・ディープダイブへようこそ。さて、今日はですね、試験直前のあなたへの、えー、特別編です。 手元にあるのは知識の定着に特化した非常に簡潔ながらもパワフルな資料でして、テーマは資料が掲げるこれだけでプラス15点を目指すための3大頻出ポイント。 セキュリティ、ネットワーク、データベースという、まあITの根幹をなす3分野から本当に核心部分だけを抜き出したものですね。ただ、えーっと、今回の私たちのミッションは、これを単なる丸暗記で終わらせることじゃないんです。 なぜそうなるのかという理屈をですね、この資料が持つユニークな比喩とかリズムを使って、あなたの脳に直接刻み込むように理解していく、そんな時間にしたいと思っています。 試験のためだけじゃなく、このデジタルの世界の仕組みをこう少しだけ深く覗いてみる、そんな冒険に出かけましょう。へえ、この資料の素晴らしい点っていうのは、一見すると無味乾燥な技術用語を、忘れられない思考の型に昇華させているところなんですよね。 鍵の逆転とか、255と0の壁、それから依存の断捨離。これらは単なるキャッチコピーじゃなくて、それぞれの分野の専門家が、まあ長年かけてたどり着いた設計思想のエッセンスなんです。 これから一つ一つのポイントの裏にあるロジックを解き明かしていき、一度聞いたらもう忘れられない、そんな確実な知識に変えるお手伝いをします。単なる点数以上の、なんて言うんですかね、世界を見る解像度が上がるような体験を約束しますよ。 それは頼もしいですね。世界を見る解像度が上がる、素晴らしい言葉です。では最初のポイントからいきましょうか。パート1、セキュリティ分野の公開鍵暗号と署名。 資料の核心フレーズは、もう呪文のように覚えたい一文ですね。暗号化は相手の公開鍵、署名は自分の秘密鍵。では、あなたも心の中で一緒に。早速コールアンドレスポンス形式でいきますよ。暗号化は? 相手の公開鍵。ですよね。でも、ここからがまあ深掘りです。公開鍵ってその名の通り誰でも手に入れられる鍵じゃないですか。だとしたら悪意のある第三者がその公開鍵を使って、何か悪さすることってできないんでしょうか。 例えば、私があなたに送るメッセージを、誰かがあなたの公開鍵で勝手に暗号化して何かを企むとか、ちょっと考えすぎですかね。いや、素晴らしい質問です。まさにそこがこの技術の巧妙なところであり、多くの人がつまずくポイントなんですよ。 結論から言うとですね、公開鍵でできるのは鍵をかけることだけなんです。一度かけたら、その公開鍵自身でさえも開けることはできない。え、そうなんですか? かけた鍵で開けられない? そうなんです。 資料にある南京錠の比喩がここで効いてきますよね。公開鍵は、誰でも使える南京錠そのもの。あなたはメッセージを入れた箱に、相手が配っている南京錠を借りてきて、カチャッと、こうロックをかける。 でも、その南京錠を開けるための本当の鍵、つまり秘密鍵は、世界でただ一人、南京錠を配った本人しか持っていないんです。だから、いくら悪意のある人が同じ南京錠を持っていても、できるのは他の箱に鍵をかけることだけで、 あなたの箱を開けることは絶対にできない。この一方通行性が、安全の根幹なんですね。なるほど、カチャッと閉じることは誰にでもできるけど、開けられるのはたった一人。だから安心して相手の公開鍵を使えるわけですね。 いやー、ようやく腹落ちしました。ただ、私がいつも混乱するのは署名になると今度は鍵の使い方がこう真逆になる点なんです。どうして目的が違うだけでこんなにきれいに逆転するんでしょう。 あー、それはですね、守りたいものが違うからなんです。暗号化が守りたいのはメッセージの機密性、つまり内容が漏れないことですよね。一方でデジタル署名が守りたいのは完全性と真正性。 つまり、この文書は改ざんされておらず、間違いなく私が作りましたというその事実の証明なんです。証明、ですか? ええ。ここで登場するのが資料にある実印の比喩ですね。 秘密鍵はあなたしか持っていない、役所に登録された実印そのもの。重要な契約書にポンと実印を押すことで、何が証明されますか? この契約に同意したのは他の誰でもないこの私です、っていうことですよね。 まさに。デジタル署名も同じなんです。自分しか持っていない秘密鍵という実印で、文書にポンとハンコを押す。そうすることでその文書が自分の物であることを証明するわけです。そしてそのハンコが本物かどうかを誰もが検証できるように、 あなたは印鑑証明書にあたる公開鍵をみんなに配っておく。これで誰でもあなたの署名が本物か確認できる。この仕組みって単なる試験知識じゃなくて、現代のインターネット社会の、もう根幹なんですよ。 私たちがAmazonで買い物をしたり、ネットバンキングを使えたりするのは、この鍵の逆転のおかげで見えない相手を信頼できるからなんです。うわー、すごい話ですね。単なる暗号技術が社会の信頼のインフラになっていると。 目的が隠すことなら相手の南京錠、証明することなら自分の実印。このイメージは強烈に記憶に残りそうです。ええ、この逆転現象さえ頭に入れておけば、試験でどちらの鍵を使うか問われた時に絶対に混乱しません。 目的から考えれば、答えは自ずと導き出されますからね。なるほど、鍵を使ってメッセージの中身は守れましたと。でも、そのメッセージを正しい相手に届けるための住所の仕組みが、次のネットワークの話ですね。 特にこのIPアドレスの計算は、多くの人がなんかアレルギー反応を起こすポイントですけども、大丈夫です。これも一つのルールさえ分かればアレルギーは克服できますよ。 資料はサブネットマスクを情報のフィルターと表現してますけど、私は住所のルールブックと呼びたいですね。ルールブックですか。ええ、そのルールブックに書かれていることは、たった二つです。 では、これもコールアンドレスポンスでいきましょうか。サブネットマスクの数字が255のところは? えっと、資料によるとそのままコピー。 その通りです。では、0のところは? 0にする。完璧です。たったこれだけ。これが255と0の壁の正体なんです。 255は「この部分はグループのアドレスだから絶対に動かすな」っていう厳しいルール。0は「ここは個人の番号だから好きに使っていいぞ」っていう許可証。このルールブックに従うだけでいいんですよ。 あー、そういうことか。フィルターというよりまさにルールブックですね。動かすなっていう命令と、使っていいっていう許可証。では資料の具体例、192.168.1.10 /24 で考えてみます。 この24という数字は、ちょっと専門家ぶってて難しそうに見えるんですが。ここに、もう一歩だけ深い知識を加えましょうか。この24というのは、サブネットマスクを二進数で考えた時に1が左から24個ずらっと並んでいるという意味なんです。 11111111.11111111.11111111.00000000。これを十進数に直すと 255.255.255.0 になるわけです。なるほど、だから最初の3ブロックが255、つまり動かすなの壁になるわけですね。 24の正体がやっとわかりました。ということは、残った最後のブロック、10が、壁のない好きに使っていい自由値、つまり部屋番号にあたるホスト部になると。その通りです。 この仕組みが分かれば、16とか27みたいな、ちょっと意地悪な問題が出ても対応できますよ。1が何個並んでいるかを数えればいいだけですからね。さて、ここまで理解できれば、もう問題は解けたも同然です。 試験でよく出る「このIPアドレスのネットワークアドレスを求めよ」という問題。これは要するに「あなたの部屋番号はいいから、所属しているアパートの住所だけ教えて」と聞かれているのと同じなんです。 アパートの住所、ということは個人の部屋番号は関係ない。ルールブックに従うと、0に対応するホスト部は0にする。だから、192.168.1.0 の部屋番号10を0にして、192.168.1.0。これで合ってますか? 完璧です。計算機は一切不要でしょう? 考え方さえ知っていれば文字通り一瞬で答えが出せる。これが255と0の壁の威力です。そしてこれ、実はあなたのスマホが家のWi-Fiに繋がるたびに、舞台裏で毎回行われていることなんですよ。 ルーターが郵便局長みたいに、家の中の機器それぞれに「君の部屋番号はこれね」って割り振ってる。非常に身近な技術なんです。ネットワークの話が、急に自分の家のリビングの話になりましたね。面白いです。 さて、メッセージの中身を守り、正しい住所に届ける仕組みも分かりました。では、届いたその大量のデータをどうやってきれいに安全に保管しておくのか、最後のテーマ、データベースの正規化に進みましょう。 資料の「重複という爆弾を捨てる作業」という表現が、また物騒で印象的ですよね。まさに言い得て妙ですね。私が駆け出しの頃、正規化を疎かした古いシステムの改修で、あるキャンペーンの顧客データをぐちゃぐちゃにしてしまった苦い経験がありまして。 一人の顧客情報を更新したら、なぜか全く関係ないはずの商品の価格情報までおかしくなってしまった。まさに、あちこちに仕掛けられていた爆弾が連鎖的に爆発した瞬間でした。正規化は、そうした悪夢を防ぐための設計段階での爆弾処理作業なんです。 うわー、それは生々しい。その本質を資料は「依存の断捨離」と放言していますね。つまり正規化っていうのは、Excelの巨大な一つのシートを、関係整合性ごとに複数の小さなシートに分割していくイメージですかね。 全部が1枚のシートに書いてあると、どこかを直した時に他への影響が分からなくて爆発する、みたいな。いい線行ってますね。まさにそのイメージです。 ただ大事なのは、単に分割するだけじゃなくて、「依存関係」という見えない糸を断ち切りながら、論理的に分割していく点なんです。資料にある3ステップが、そのための具体的な手順になりますね。第1正規形。1マス1データ。これは分かりやすい。 ええ、一つのセルに複数の情報を詰め込むな、という大原則ですね。ええ、これがスタートラインです。次にステップ2、第2正規形。主キーの一部に依存してるやつを分離。 これはあの主キー、つまりその行を特定するためのIDが、複数の項目で成り立っている場合に問題になります。例えば、受注番号と商品コードの二つで1行が決まるテーブルがあったとしますよ。 このテーブルに商品名も入っていたら、商品名は商品コードさえ決まれば分かりますよね。受注番号は関係ありません。確かに、コーラの商品名を知るのに、誰がいつ注文したかなんて知る必要はないですもんね。 そうです。このように主キーの一部にしか依存していないデータが混ざっている。これはまさに関係性の薄い同居人です。だから、この依存関係を断ち切るために商品コードと商品名だけの新しいテーブルをパカッと分離して、一人暮らしをさせてあげる。 これが第2正規形です。パカッと、依存の断捨離。まさにですね。では最後のステップ3、第3正規形。主キー以外にベタベタしてるやつを分離。このベタベタという表現がまた秀逸ですね。 これはですね、主キーではない普通の列に対して、別の列が依存している状態です。例えば、先ほどのテーブルに仕入れ先コードと仕入れ先名という列があったとします。 仕入れ先名は仕入れ先コードが決まれば決まりますよね。主キーである受注番号とか商品コードとは直接関係ないところで、勝手に依存関係が生まれている。なるほど、主キーじゃない仕入れ先コードに、仕入れ先名がベタベタとくっついて徒党を組んでいる感じですね。 まさにその通りです。この主キーじゃないもの同士の馴れ合いも、データの重複や更新ミスの原因になる爆弾なんです。ですからこれも、仕入れ先コードと仕入れ先名のテーブルとしてパカッと分離してあげる。これが第3正規形。 この「依存の断捨離」という考え方、実は優れたソフトウェア設計や、もっと言えば良い組織論の基本原則と同じなんですよ。一つの部品は一つの責任だけを持つ。「単一責任の原則」と言いますが、 データもコードもチームも、責務が明確なほど健全に機能する。データベースの正規化はその思想をデータの世界で実践しているだけなんですね。いや、面白い。データベースの設計原則が、良いチーム作りの話にまでつながるとは思いませんでした。 「表がバラバラになるほど、データはきれいで安全になる」という資料の言葉が今すごく腑に落ちました。一見テーブルが増えて複雑化しているようで、実は一つ一つの部品の責任と関係性を整理している、非常に論理的な作業なんですね。 その通りです。この依存の断捨離を進めることで、一つ一つのデータの関係性が明確になり、先ほど言った爆弾を未然に防ぐことができる。これが正規化の、そして優れたデータベース設計の価値なんです。 よく分かりました。セキュリティ、ネットワーク、データベース、三つの頻出ポイントを見てきましたが、どれも核となる考え方を掴むことが表面的な暗記よりもずっと重要だということが改めて認識できました。 では最後に、今日深掘りした三つのポイントの核心をもう一度あなたの脳に深く刻み込みましょう。一、暗号化と署名では目的が真逆だから使う鍵も逆になる。 二、ネットワークアドレスはルールブックに従い、ホスト部を0にするだけ。三、正規化の目的はデータの重複という爆弾を処理するため、依存関係にあるデータを分離すること。 ありがとうございました。さて、手元の資料には「ウェブソサエティのインフォグラフィックで最終チェックを」というアドバイスがありました。今日私たちが言葉で紐解いたこれらの概念を、今度は視覚的に、図で再確認するのは非常に有効な手段だと思います。 知識の定着にぜひ役立ててください。それでは最後に、あなたに一つ問いかけを。今回学んだ「依存の断捨離」という考え方。これをもし、あなたの仕事や日常生活のタスク管理に応用するとしたら、どんな爆弾を処理できるでしょうか。 例えば、あなたが抱える一つの大きなプロジェクトの中に、本来は別の目的を持つタスクがごちゃ混ぜになっていませんか? あるタスクの完了が、直接関係ないはずの別のタスクになぜか不必要に依存してしまって、身動きが取れなくなってはいないか。 少しだけ考えてみてください。知識を応用することで、あなたの世界はもっとクリアになるかもしれません。今回のザ・ディープダイブはここまでです。あなたの挑戦をここから応援しています。

このコンテンツは Web society で視聴・学習できます。