XMLデジタル署名の特徴|情報処理安全確保支援士 平成30年 春期午前Ⅱ試験 問3

出典:平成30年春期 午前Ⅱ 問3 分野:セキュリティ / 情報セキュリティ
XMLデジタル署名の特徴のうち,適切なものはどれか。
  • ア:XML文書中の,任意のエレメントに対してデタッチ署名(Detached Signature)を付けることができる。
  • イ:エンベローピング署名(Enveloping Signature)では一つの署名対象に必ず複数の署名を付ける。
  • ウ:署名形式として,CMS(Cryptographic Message Syntax)を用いる。
  • エ:署名対象と署名アルゴリズムをASN.1によって記述する。
解説

XMLデジタル署名は、XML文書に対してデジタル署名を付けるための仕組みです。

通常のデジタル署名と同じように、XML文書について「改ざんされていないこと」「誰が署名したか」「あとから署名を否定しにくいこと」を確認できます。

署名方式 署名と署名対象の関係 イメージ
デタッチ署名 署名と署名対象が別々に存在する 署名ファイルと、署名されるXML文書やXML内の一部要素が分かれている
エンベロープ署名 署名対象の中に署名を埋め込む XML文書の中に、署名情報を追加する
エンベローピング署名 署名の中に署名対象を埋め込む 署名情報の中に、署名されるデータを入れる

デタッチ署名は、署名と署名対象が分離している方式です。別ファイルを署名対象にしたり、同じXML文書内の特定の要素だけを署名対象にしたりできます。

エンベロープ署名は、署名対象のXML文書の中に署名情報を入れる方式です。元のXML文書を包むのではなく、XML文書の内部に署名が埋め込まれる点がポイントです。

エンベローピング署名は、署名情報の中に署名対象を入れる方式です。署名が外側、署名対象が内側に入るイメージです。

つまり、XMLデジタル署名は「XML文書の全部または一部に署名を付ける仕組み」であり、署名と署名対象の位置関係によって、デタッチ署名、エンベロープ署名、エンベローピング署名に分けられます。

したがって、が適切です。

❌他選択肢が誤りの理由
イ:エンベローピング署名(Enveloping Signature)では一つの署名対象に必ず複数の署名を付ける。
⇒エンベローピング署名は、署名対象のデータを署名要素の内部に含める形式です。一つの署名対象に必ず複数の署名を付ける方式ではありません。
ウ:署名形式として,CMS(Cryptographic Message Syntax)を用いる。
⇒CMSは、S/MIMEなどで利用される暗号メッセージ形式です。XMLデジタル署名は、署名値や署名対象、署名アルゴリズムなどをXML形式で記述します。
エ:署名対象と署名アルゴリズムをASN.1によって記述する。
⇒XMLデジタル署名では、署名対象や署名アルゴリズムをXML要素として記述します。ASN.1は、データ構造を抽象的に定義する記法であり、XMLデジタル署名の記述形式ではありません。
TSUNAGARU-ADVICE

まず押さえたいこと

XMLデジタル署名は、XML文書全体だけでなく、XML文書中の特定のエレメントなど、署名したい部分を柔軟に指定できる仕組みです。署名対象と署名データを分離するデタッチ署名も利用でき、XML文書の一部に対して署名できる点が特徴です。

迷ったときの判断軸

エンベローピング署名は、署名データの中に署名対象を含める形式であり、一つの署名対象に必ず複数の署名を付けるものではありません。CMSはS/MIMEなどで使われる形式、ASN.1は証明書や暗号データ構造の記述に関係します。XMLデジタル署名は、XML形式で署名対象や署名情報を表現するものと判断しましょう。

科目Bにつなげるために

科目Bでは、Webサービス、電子申請、XML文書、改ざん検知、署名検証の流れが問われることがあります。XMLデジタル署名では、文書全体に署名するのか、一部の要素に署名するのか、署名対象と署名データをどう配置するのかを確認し、どのデータの完全性と真正性を保証しているかを読み取りましょう。