ITエンジニアが仕事に対して思うこと

ITエンジニアとして働く中で感じたことを、現場の温度感そのままに言語化するブログです。設計・実装・運用のリアル、学び続ける負荷、品質とスピードのせめぎ合い、コミュニケーションの難しさなど、きれいごとだけでは語れない「仕事の実態」を整理します。誰かを責めるのではなく、なぜそうなるのかを構造で捉え、明日から少し楽に、少し強く働ける視点を提供します。新人から中堅、マネジメントまで参考に。

情報処理安全確保支援士令和6年春期問2 ‐ セキュリティ特訓符号(MAC)の謎 【動画解説付き】

www.youtube.com 情報処理技術者試験の令和6年春期午前II問2を題材に、サクラ先輩とモモちゃんがメッセージ認証符号(MAC)の謎について徹底解説します。公開鍵と共通鍵で頭がパンクしそうな方必見です。MACの基本的な仕組みからデジタル署名との決定的な違い、そして最新のセキュリティトレンドであるAEADまでをわかりやすい図解とともに楽しく学べます。試験対策や実務の基礎知識として役立つ動画です。 動画内で解説されている重要なキーワードとその内容について説明します。まず学習の軸となるメッセージ認証符号、いわゆるMACは、通信において送信されるメッセージが途中で改ざんされていないこと、そして間違いなく意図した送信者から送られたものであることを確認するための仕組みです。MACの生成と検証において最も重要なルールは、送信者と受信者の二人の間だけで秘密裏に共有される共通鍵を使用するという点です。メッセージとこの共通鍵を組み合わせて計算を行うことで、メッセージ固有の指紋のような固定長のデータであるMACが作られます。受信者は自分自身が持っている同じ共通鍵を使って受け取ったメッセージから再度計算を行い、送られてきたMACと一致するかどうかを確かめることで、メッセージの正しさを証明します。このようにして確認できる性質のうち、データが書き換えられていないことを完全性と呼び、送信者が本物であることを真正性と呼びます。MACはこの完全性と真正性の両方を担保する役割を担っています。しかし、共通鍵を知らない第三者はこの計算を行うことができないため、第三者がメッセージの正しさを検証することは不可能です。ここで混同しやすいのがデジタル署名です。デジタル署名では共通鍵ではなく公開鍵ペアの仕組みを使用します。これにより、誰でも公開鍵を使って検証が可能となり、後から送信した事実を否定できないようにする否認防止という機能を実現できます。MACにはこの否認防止の機能はありません。また、処理速度の面では、ハッシュ関数やブロック暗号を用いるMACが高速であるのに対し、非対称暗号計算を行うデジタル署名は低速であるという違いもあります。試験問題では、MACに関する記述の中に公開鍵という言葉が出てきた時点で、それはデジタル署名の説明であると見抜くことが重要です。さらに、近年では暗号化と認証を別々に行うことによる実装ミスを防ぐため、両者を同時に行うAEADという仕組みが主流になりつつあることも紹介されています。TLS1.3などで採用されており、AES-GCMといったモードを使用することで、データを暗号化すると同時にMACに相当する検証タグを自動的に生成することができます。これらのキーワードのつながりと違いを整理して覚えることで、複雑な用語も誰がどの鍵を持っているかを軸にしっかりと理解できるようになります。