Take's Software Engineer Blog

TOEIC200点&プロマネな私が社内公募を経て、ソフトエンジニア&英語部門へ異動して奮闘していく話をしていきます

情報処理安全確保支援士試験 令和4年度 春期 午後2 問2その5

https://www.ipa.go.jp/shiken/mondai-kaiotu/gmcbt80000009sgk-att/2022r04h_sc_pm2_qs.pdf\

以下のおすすめ問題の解説となります。

良書。

[企画チームからの要望]
 Cさんは、企画チームから要望を受けた。要望は、T社が運営しているメッセージ投稿サイト(以下、T社投稿サイトという)とX社動画サーバとを連携させ、T社投稿サイトの 認証サーバを用いた認証機能、及びT社投稿サイトの投稿サーバへの自動投稿機能をX社動画サーバに追加したいというものだった。この要望に対応することで、T社投稿サイトのアカウントをもつ動画サービスの会員は、T社投稿サイトにログインすればX社動画サーバも利用できる。また、X社動画サーバに動画を投稿すると、”動画の概要”がT社投稿サイトに自動で投稿されるようにもできる。Cさんは、T社投稿サイトとX社動画サーバの連携方法について、F氏に助言を求めた。次は、その際のF氏とCさんの会話である。

F氏OpenID Connect(以下、OIDCという)を用いれば、T社投稿サイトとX社動画サーバを連携できます。例えば、図10のような流れです。

F氏:認可コードフローの場合、IDトークンは、図10中の(u)で送付されます。IDトークンは、JSON Web Token形式で表現され、ヘッダ、ペイロード、署名の三つの部分で構成されます。署名は、ヘッダとペイロードに対して、T社投稿サイトの認証サーバの秘密鍵を使って作成します。署名アルゴリズムは、ヘッダにおいて指定します。ヘッダ、ペイロード、署名は、それぞれ(v)でエンコードされます。

Cさん:T社投稿サイトでの セキュリティ対策について確認することはありますか。

F氏:ハイブリッドフローを用いる場合、stateパラメタのほか、nonce値を実装しているかを確認すべきです。まず、nonce値を生成し、(w)に含めて送信します。次に、送られてきた(x)に含まれるnonce値を検証することで、攻撃者によるIDトークンの不正利用を防ぐことができます。

Cさん:分かりました。

 システム部は、T社投稿サイトと動画サービスとを、OIDCで連携することに決め、X社動画サーバの改修に着手した。

 

 

r:X社動画サーバ s認証サーバ t投稿サーバ

  • X社動画サーバ
  • T社投稿サイトの 認証サーバを用いた認証機能
  • T社投稿サイトの投稿サーバへの自動投稿機能

今回追加する機能を整理すると答えは埋まる

 

u:8

T社投稿サイトの認証サーバ(s)で作成されるのは、図10の⑶認証要求、⑺トークン要求がありますが、IDトークンは⑺が該当し、⑻トークン応答で送付されるのでしょう。

 

v:base64url

JSON web Token形式のエンコード方式ですが、base64くらいしか選択できないと判断して選んでしまった。

 

w:認証要求 x:IDトーク

stateパラメタのほか、nonce値を実装しているかを確認すべきです。まず、nonce値を生成し、(w)に含めて送信します。次に、送られてきた(x)に含まれるnonce値を検証することで、攻撃者によるIDトークンの不正利用を防ぐことができます。

APIを使った投稿などをやったことあればわかるかなという内容。

 

 

div #breadcrumb div{ display: inline;font-size:13px;}