<p><style_thought>
本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</style_thought></p>
<h1 class="wp-block-heading">令和5年度 情報処理安全確保支援士試験 午前Ⅱ 問1 DNSSECの署名レコード</h1>
<p>本問はDNSSECにおけるリソースレコードの真正性担保の仕組みを問うています。署名と鍵の対応関係の把握が解法の鍵です。</p>
<h3 class="wp-block-heading">【問題】</h3>
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>DNSSECにおいて、リソースレコードセット(RRset)に対するデジタル署名を格納するために使用されるリソースレコードタイプはどれか。</p>
<p>ア DS
イ DNSKEY
ウ RRSIG
エ NSEC</p>
</blockquote>
<h3 class="wp-block-heading">【解説】</h3>
<p>DNSSEC(Domain Name System Security Extensions)は、DNS応答の偽装(キャッシュポイズニング等)を防ぐため、公開鍵暗号方式によるデジタル署名を用いてリソースレコードの真正性と整合性を検証する技術です。</p>
<p>各レコードの役割は以下の通りです。</p>
<ol class="wp-block-list">
<li><p><strong>RRset(Resource Record Set)</strong>: 同じ名前、クラス、タイプを持つリソースレコードの集合です。DNSSECでは個別のレコードではなく、この集合単位で署名を行います。</p></li>
<li><p><strong>デジタル署名の生成</strong>: ゾーンの秘密鍵を用いてRRsetに対して署名を作成します。</p></li>
<li><p><strong>署名の格納</strong>: 作成されたデジタル署名は、<strong>RRSIG</strong>レコードとして定義されます。</p></li>
</ol>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
graph LR
subgraph DNS_Zone
RRset["RRset: Aレコード等"]
RRSIG["RRSIG: 署名データ"]
DNSKEY["DNSKEY: 公開鍵"]
end
RRset -. 署名付与 .-> RRSIG
DNSKEY -. 検証 .-> RRSIG
</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:left;">判定</th>
<th style="text-align:left;">解説</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">ア DS</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">Delegation Signer。子ゾーンのDNSKEYのハッシュ値を親ゾーンに登録し、信頼の連鎖を構築します。</td>
</tr>
<tr>
<td style="text-align:left;">イ DNSKEY</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">署名を検証するための公開鍵を格納します。ZSK(ゾーン署名鍵)やKSK(鍵署名鍵)が含まれます。</td>
</tr>
<tr>
<td style="text-align:left;">ウ RRSIG</td>
<td style="text-align:left;"><strong>正解</strong></td>
<td style="text-align:left;"><strong>Resource Record Signature</strong>。対象となるRRsetに対するデジタル署名そのものを格納します。</td>
</tr>
<tr>
<td style="text-align:left;">エ NSEC</td>
<td style="text-align:left;">誤り</td>
<td style="text-align:left;">Next Secure。不在証明(要求されたレコードが存在しないことの証明)のために使用されます。</td>
</tr>
</tbody>
</table></figure>
<h3 class="wp-block-heading">【ポイント】</h3>
<ul class="wp-block-list">
<li><p><strong>RRSIG</strong>は「署名そのもの」を保持し、データの改ざんがないことを証明する。</p></li>
<li><p><strong>DNSKEY</strong>は「検証用の公開鍵」を保持し、署名の正当性を確認するために使われる。</p></li>
<li><p><strong>DS</strong>は「親ゾーン」に配置され、子ゾーンの鍵が正しいことを保証する(信頼の連鎖)。</p></li>
</ul>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
令和5年度 情報処理安全確保支援士試験 午前Ⅱ 問1 DNSSECの署名レコード
本問はDNSSECにおけるリソースレコードの真正性担保の仕組みを問うています。署名と鍵の対応関係の把握が解法の鍵です。
【問題】
DNSSECにおいて、リソースレコードセット(RRset)に対するデジタル署名を格納するために使用されるリソースレコードタイプはどれか。
ア DS
イ DNSKEY
ウ RRSIG
エ NSEC
【解説】
DNSSEC(Domain Name System Security Extensions)は、DNS応答の偽装(キャッシュポイズニング等)を防ぐため、公開鍵暗号方式によるデジタル署名を用いてリソースレコードの真正性と整合性を検証する技術です。
各レコードの役割は以下の通りです。
RRset(Resource Record Set): 同じ名前、クラス、タイプを持つリソースレコードの集合です。DNSSECでは個別のレコードではなく、この集合単位で署名を行います。
デジタル署名の生成: ゾーンの秘密鍵を用いてRRsetに対して署名を作成します。
署名の格納: 作成されたデジタル署名は、RRSIGレコードとして定義されます。
graph LR
subgraph DNS_Zone
RRset["RRset: Aレコード等"]
RRSIG["RRSIG: 署名データ"]
DNSKEY["DNSKEY: 公開鍵"]
end
RRset -. 署名付与 .-> RRSIG
DNSKEY -. 検証 .-> RRSIG
【選択肢の吟味】
| 選択肢 |
判定 |
解説 |
| ア DS |
誤り |
Delegation Signer。子ゾーンのDNSKEYのハッシュ値を親ゾーンに登録し、信頼の連鎖を構築します。 |
| イ DNSKEY |
誤り |
署名を検証するための公開鍵を格納します。ZSK(ゾーン署名鍵)やKSK(鍵署名鍵)が含まれます。 |
| ウ RRSIG |
正解 |
Resource Record Signature。対象となるRRsetに対するデジタル署名そのものを格納します。 |
| エ NSEC |
誤り |
Next Secure。不在証明(要求されたレコードが存在しないことの証明)のために使用されます。 |
【ポイント】
RRSIGは「署名そのもの」を保持し、データの改ざんがないことを証明する。
DNSKEYは「検証用の公開鍵」を保持し、署名の正当性を確認するために使われる。
DSは「親ゾーン」に配置され、子ゾーンの鍵が正しいことを保証する(信頼の連鎖)。
ライセンス:本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント