情報処理安全確保支援士試験 午後問題から学ぶ【HMAC】

情報処理安全確保支援士試験の午後問題には、情報セキュリティに関する最新の動向を反映した題材が採用されています。

キーワードに加え、設計やインシデント対応能力をシミュレーションできる良い学びの場ですので、情報処理安全確保支援士試験合格はもちろん、情報処理安全確保支援士となった後も能力向上のために学習していきましょう。

今回は、「IoT機器」を題材にした「HMAC」を解説していきます。

「HMAC」とは

  HMAC(Hash-based Message Authentication Code)とは、メッセージ送受信におけるなりすましやメッセージ改ざんなどの検知に用いる認証符号の一つで、ハッシュ関数を元に算出されるものです。

メッセージ本文と秘密鍵を一定の規則に従って組み合わせてハッシュ関数に与え、算出されたハッシュ値を認証符号とします。ハッシュ関数には様々なものを使用でき、「HMAC-MD5」「HMAC-SHA256」などがあります。

秘密鍵に基づく検知の仕組みは、通常「メッセージ認証コード」(MAC)と呼ばれます。

平成31年度春期情報処理安全確保支援士試験での「HMAC」

「IoT機器」を題材に、サーバ間での認証連携、及びIoT機器への物理的な不正アクセスへの対策について出題されました。

それでは「HMAC」の問題となった部分を見ていきましょう。

 V社は、IoT機器を製造・販売している従業員数3,000名の会社である。家庭用ゲーム機(以下、ゲーム機Vという)の発売を予定しており、設計を開発部が担当している。設計リーダは、開発部のHさんである。利用者はゲーム機Vとゲームプログラムの利用権を購入し、ゲーム機Vからゲームサーバ上のゲームプログラムを利用する。複数のゲームプログラム開発会社が、それぞれ複数のゲームプログラムを開発し、販売する予定である。開発部が設計したゲーム機V、認証サーバ及びゲームサーバ(以下、三つを併せてゲームシステムVという)の構成を図1に、構成要素とその概要を表1に示す。

f:id:aolaniengineer:20191228085736p:plain

f:id:aolaniengineer:20191228085812p:plain

 ゲームを行う際は図2の認証フローで利用者の認証が行われる。

f:id:aolaniengineer:20191228085926p:plain

 認証トークンには、認証サーバのFQDN、利用者ID及びMAC(Message Authentication Code)が格納される。①MACは、認証サーバのFQDNと利用者IDに対して、ハッシュ関数を共通鍵と組み合わせて使用し、生成する。共通鍵は、ゲームシステムV全体で一つの鍵が使用され、ゲームサーバ管理者がゲームプログラムに設定する。図2の5.では、ゲームプログラムによる認証トークンのMACの検証が成功し、かつ、FQDNが確かに認証サーバのものであることが確認された場合だけ、認証が成功し、図2の6.でゲームプログラムからゲーム画面が送信される。

設問1 本文中の下線①に該当する方式はどれか。該当する方式を解答群の中から選び、記号で答えよ。

 解答群

 ア CBC-MAC  イ CMAC  ウ CSR

 エ HMAC    オ MD5   カ RC4 

正解:HMAC

【出典:情報処理安全確保支援士試験 平成31年度春期午後1問3(一部、省略部分あり)】

設問1

該当箇所は、「①MACは、認証サーバのFQDNと利用者IDに対して、ハッシュ関数を共通鍵と組み合わせて使用し、生成する。」 です。

MACの仕組みであるメッセージと秘密鍵である共通鍵によるコード生成に加え、ハッシュ関数を組み合わせてコード生成するものがHMACになります。