<p>style_prompt</p>
<p>本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</p>
<h1 class="wp-block-heading">令和5年度 ネットワークスペシャリスト試験 午前Ⅱ 問1 OpenID Connect</h1>
<p>ID連携プロトコルOpenID Connectの基本動作と、エンティティ間で受け渡されるトークンの役割および属性情報の保持形式を理解することが解法の核です。</p>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>OpenID Connect 1.0 において,ユーザーの属性情報(氏名,メールアドレスなど)を含み,認可サーバー(OpenIDプロバイダ)が発行し,クライアント(リライイングパーティ)に送られるトークンはどれか。</p>
<p>ア IDトークン
イ アクセストークン
ウ リフレッシュトークン
エ 認証コード</p>
</blockquote>
<h3 class="wp-block-heading">【解説】</h3>
<p>OpenID Connect (OIDC) は、認可プロトコルである OAuth 2.0 をベースに、ユーザー認証の仕組みを追加したプロトコルです。</p>
<ol class="wp-block-list">
<li><p><strong>OpenIDプロバイダ (OP)</strong>: 認証を行い、トークンを発行するサーバー。</p></li>
<li><p><strong>リライイングパーティ (RP)</strong>: トークンを受け取り、ユーザー認証情報を利用するアプリケーション(クライアント)。</p></li>
</ol>
<p>この通信フローにおいて、ユーザーの属性情報(クレーム)を保持するために導入されたのが<strong>IDトークン</strong>です。IDトークンは <strong>JWT (JSON Web Token)</strong> 形式で記述されており、デジタル署名によって改ざん検知が可能な構造になっています。</p>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
sequenceDiagram
participant U as ユーザー
participant RP as リライイングパーティ
participant OP as OpenIDプロバイダ
U ->> RP: ログイン要求
RP ->> OP: 認証リクエスト
OP ->> U: 本人確認
U ->> OP: 認証情報送信
OP ->> RP: IDトークン / アクセストークン発行
Note over RP: IDトークンからユーザー属性を取得
</pre></div>
<h3 class="wp-block-heading">【選択肢の吟味】</h3>
<figure class="wp-block-table"><table>
<thead>
<tr>
<th style="text-align:left;">選択肢</th>
<th style="text-align:center;">判定</th>
<th style="text-align:left;">解説</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">ア</td>
<td style="text-align:center;"><strong>正解</strong></td>
<td style="text-align:left;">IDトークンは、ユーザーの識別子や属性情報をJWT形式でカプセル化したトークンです。</td>
</tr>
<tr>
<td style="text-align:left;">イ</td>
<td style="text-align:center;">誤り</td>
<td style="text-align:left;">アクセストークンは、特定のリソース(API等)へのアクセス権限を証明するものであり、認証情報の伝達が主目的ではありません。</td>
</tr>
<tr>
<td style="text-align:left;">ウ</td>
<td style="text-align:center;">誤り</td>
<td style="text-align:left;">リフレッシュトークンは、有効期限が切れたアクセストークンを再発行するために使用されるもので、属性情報は含みません。</td>
</tr>
<tr>
<td style="text-align:left;">エ</td>
<td style="text-align:center;">誤り</td>
<td style="text-align:left;">認証コードは、トークンエンドポイントから各トークンを取得するための引換券として機能する一時的なコードです。</td>
</tr>
</tbody>
</table></figure>
<h3 class="wp-block-heading">【ポイント】</h3>
<ul class="wp-block-list">
<li><p><strong>IDトークン</strong>:ユーザー認証の結果(属性情報)を運ぶJWT形式のトークン。</p></li>
<li><p><strong>OAuth 2.0との違い</strong>:OAuthは「認可(権限)」、OpenID Connectは「認証(本人確認)」を主目的とする。</p></li>
<li><p><strong>JWT (JSON Web Token)</strong>:ヘッダー、ペイロード、署名の3層構造で属性情報を安全に伝送する規格。</p></li>
</ul>
style_prompt
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証) です。
令和5年度 ネットワークスペシャリスト試験 午前Ⅱ 問1 OpenID Connect
ID連携プロトコルOpenID Connectの基本動作と、エンティティ間で受け渡されるトークンの役割および属性情報の保持形式を理解することが解法の核です。
OpenID Connect 1.0 において,ユーザーの属性情報(氏名,メールアドレスなど)を含み,認可サーバー(OpenIDプロバイダ)が発行し,クライアント(リライイングパーティ)に送られるトークンはどれか。
ア IDトークン
イ アクセストークン
ウ リフレッシュトークン
エ 認証コード
【解説】
OpenID Connect (OIDC) は、認可プロトコルである OAuth 2.0 をベースに、ユーザー認証の仕組みを追加したプロトコルです。
OpenIDプロバイダ (OP) : 認証を行い、トークンを発行するサーバー。
リライイングパーティ (RP) : トークンを受け取り、ユーザー認証情報を利用するアプリケーション(クライアント)。
この通信フローにおいて、ユーザーの属性情報(クレーム)を保持するために導入されたのがIDトークン です。IDトークンは JWT (JSON Web Token) 形式で記述されており、デジタル署名によって改ざん検知が可能な構造になっています。
sequenceDiagram
participant U as ユーザー
participant RP as リライイングパーティ
participant OP as OpenIDプロバイダ
U ->> RP: ログイン要求
RP ->> OP: 認証リクエスト
OP ->> U: 本人確認
U ->> OP: 認証情報送信
OP ->> RP: IDトークン / アクセストークン発行
Note over RP: IDトークンからユーザー属性を取得
【選択肢の吟味】
選択肢
判定
解説
ア
正解
IDトークンは、ユーザーの識別子や属性情報をJWT形式でカプセル化したトークンです。
イ
誤り
アクセストークンは、特定のリソース(API等)へのアクセス権限を証明するものであり、認証情報の伝達が主目的ではありません。
ウ
誤り
リフレッシュトークンは、有効期限が切れたアクセストークンを再発行するために使用されるもので、属性情報は含みません。
エ
誤り
認証コードは、トークンエンドポイントから各トークンを取得するための引換券として機能する一時的なコードです。
【ポイント】
IDトークン :ユーザー認証の結果(属性情報)を運ぶJWT形式のトークン。
OAuth 2.0との違い :OAuthは「認可(権限)」、OpenID Connectは「認証(本人確認)」を主目的とする。
JWT (JSON Web Token) :ヘッダー、ペイロード、署名の3層構造で属性情報を安全に伝送する規格。
ライセンス :本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント