情報処理安全確保支援士 2014年 春期 午前2 問02
問題文
XML 署名において署名対象であるオブジェクトの参照を指定する表記形式はどれか。
選択肢
ア:OIDの形式
イ:SSIDの形式
ウ:URIの形式(正解)
エ:ディジタル証明書のシリアル番号の形式
XML 署名において署名対象であるオブジェクトの参照を指定する表記形式はどれか【午前2 解説】
正解の理由
XML Signature(XML署名、XMLDSig)仕様では、Reference要素のURI属性を用いて署名対象となるデータ(文書中の要素や外部リソース)を指定します。URIには文書内の同一文書参照(例:#id)や外部リソースのURLを含められるため、署名の対象を柔軟かつ明確に指定できます。したがって「URIの形式」であるウが正解です。
解法ステップ
- 問題文のキーワード「署名対象」「参照を指定する表記形式」を確認する。
- XML署名(XMLDSig)の基本構造を想起する:SignedInfo → Reference(URI属性)、Transforms、DigestMethodなど。
- 各選択肢の用途を照合する:OID(アルゴリズム/拡張の識別)、SSID(ネットワーク識別)、シリアル番号(証明書識別)、URI(リソース識別)。
- XML署名の参照指定はURI属性で行う、よってウを選択する。
選択肢別の誤答解説
- ア: OIDの形式
OIDはオブジェクト識別子で、暗号アルゴリズムや証明書拡張の識別に使われる。XML署名のReferenceで署名対象のリソースを指すための表記ではない。 - イ: SSIDの形式
SSIDは無線LANなどのネットワーク識別子であり、XML文書の要素や外部リソースを参照するための形式ではない。 - ウ: URIの形式
正解。Reference要素のURI属性で文書内参照(例:#elemID)や外部URLを指定する。 - エ: ディジタル証明書のシリアル番号の形式
証明書のシリアル番号は証明書固有の識別に使うが、署名対象のオブジェクト参照指定には使われない。
よくある誤解
- 誤解1: OIDは識別に使えるから署名対象参照にも使えると考える。
→ OIDは主にオブジェクト識別子(例えば暗号アルゴリズムや証明書拡張)であり、XML署名のReference指定には用いられない。 - 誤解2: 証明書のシリアル番号やSSIDを使って署名対象を指定できると考える。
→ これらは主に証明書やネットワーク識別に関わる情報であり、XML署名の「参照(Reference)」表記ではない。
補足コラム
- XML署名の典型的なReferenceの例
- 文書内要素を参照:
<Reference URI="#invoice123">(同一XML内のid属性に紐づく) - 外部リソースを参照:
<Reference URI="https://example.com/data.xml">
ReferenceはTransformsを組み合わせて参照先の正規化や部分抽出を行い、その結果に対してダイジェストを適用します。
- 文書内要素を参照:
- XML Signatureの主な要素
- SignedInfo(署名対象の記述とハッシュ手順)
- SignatureValue(実際の署名値)
- KeyInfo(鍵情報、証明書情報など)
FAQ
Q1: なぜOIDやシリアル番号ではダメなのですか?
A1: OIDやシリアル番号は識別子であって、XML文書内や外部リソースの位置を示すURIのような参照機能を持たないため、Reference属性には適さないからです。
A1: OIDやシリアル番号は識別子であって、XML文書内や外部リソースの位置を示すURIのような参照機能を持たないため、Reference属性には適さないからです。
Q2: 文書内参照はどうやって指定しますか?
A2: URI属性で文書内要素を指定する場合、ハッシュ付きのフラグメント識別子を使います(例:URI="#idValue")。
A2: URI属性で文書内要素を指定する場合、ハッシュ付きのフラグメント識別子を使います(例:URI="#idValue")。
Q3: URIにスキーム以外の識別子を含められますか?
A3: 一般にURIは多様なスキームを許容しますが、XML署名の実装とセキュリティ上の考慮(外部リソースのフェッチは避ける等)に注意が必要です。
A3: 一般にURIは多様なスキームを許容しますが、XML署名の実装とセキュリティ上の考慮(外部リソースのフェッチは避ける等)に注意が必要です。
関連キーワード: XML署名、XMLDSig、Reference、URI、SignedInfo、デジタル署名、ハッシュ、Transforms

\ せっかくなら /
情報処理安全確保支援士を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

