この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

XMLデジタル署名(XML Signature)はW3CとIETFが標準化したXML形式の電子署名仕様(RFC 3275)。3種類の署名形式がある。①Enveloped Signature(内包署名):署名対象のXML文書内に署名要素を埋め込む形式。文書が署名を含む構造になる。②Enveloping Signature(包含署名):署名要素がデータ(SignedInfo・Object要素)を包み込む形式。署名が外側にあり内部にデータを含む。③Detached Signature(デタッチ署名):署名対象の外部に署名を配置し、URIで署名対象を参照する形式。署名対象と署名が分離しているが、同一のXML文書内にDetached署名を含めることも技術的に可能(正解の内容)。また複数のリソースを一つの署名でカバーすることも可能。SAMLの認証応答にはXMLデジタル署名が使われる。CMSやASN.1ではなくXML構文を用いる点がX.509証明書との違い。

なぜ他の選択肢は違うのか

選択肢 ア
CMS(Cryptographic Message Syntax:RFC 5652)はS/MIMEやPKCS#7で使われる暗号メッセージ構文で、ASN.1/DER形式でデジタル署名やデータ暗号化を記述する。XMLデジタル署名は独自のXMLベース構文(XML Signature Syntax and Processing)を使用しており、CMSは一切使用しない。XMLと非XML(バイナリ/ASN.1)の違いを混同した誤った選択肢。
選択肢 ウ
Enveloping署名は「署名要素が署名対象データを包み込む形式」で、一つの署名構造に対して一つのデータを含む1対1の関係。「一つの署名対象に複数の署名を付与する」という説明はEnveloping署名の定義に反する誤り。XMLデジタル署名では複数のReference要素で複数リソースを一つの署名でカバーできるが、それはEnveloping署名の「複数署名付与」ではない。
選択肢 エ
ASN.1(Abstract Syntax Notation 1)はITU-Tが策定したデータ構造記述言語で、X.509デジタル証明書・SNMP・LDAPなどで使われる。XMLデジタル署名は署名対象・署名アルゴリズム・鍵情報をすべてXML形式(タグ・属性)で記述する。ASN.1はバイナリエンコーディング(DER/BER)を使うのに対し、XMLデジタル署名はテキストベースのXML構文を使用する根本的な違いがある。

解くときのポイント

XMLデジタル署名の3形式(Enveloped/Enveloping/Detached)の違いをイメージで把握する。SAMLやXMLEncryptionと組み合わせて出題されることも多い。