XML署名【情報処理安全確保支援士向け】
安全確保支援士について勉強している中で、署名についての問いがあり、明確に答えられなかったのでアウトプットです。
出てきた問題
問.XMLデジタル署名の特徴のうち、適切なものはどれか
ア.XML文書中の、指定したエレメントに対してデタッチ署名(Detached Signature)することができる。
イ.エンベローピング署名(Enveloping Signature)では一つの署名対象に必ず複数の署名を付ける。
ウ.署名形式として、CMS(Cryptographic Message Syntax)を用いる。
エ.署名対象と署名アルゴリズムをASN.1によって記述する。
問題文にあるXMLデジタル署名は、デジタル署名の一種になります。
XML署名の特徴を理解しておくことで正解の選択肢を絞り込めます。
XML署名について
特徴
- イメージ: 手紙や宿題に書くサインみたいなもの。
- 目的: デジタルデータ(例えば文書やメッセージ)が改ざんされていないことを証明するための電子的なサイン。
- 署名形式:XML Digital Signature
- 署名アルゴリズム:XML構文
- 使い方: 電子文書の認証/電子契約、医療情報の交換など
- ポイント: XML文書に対して署名を付与します。署名方法は署名する対象とXML文書との関係に応じて、3種類に分かれます。またXML文書の一部にのみ、署名を行うこともできます。
署名の方法
XML署名の特徴として、3種類の署名方法があります。
以下にそのパターンと特徴を書いておきます。
デタッチ署名
XML文書と署名情報を別々のファイルとして管理します。
XMLのデータが大きい場合や元のデータに変更を加えたくない場合にこの方法が選択されます。
またXMLデータの全体または一部に対して署名を行うこともできます。
// 元データファイル(document.xml)
<手紙>
<内容>こんにちは</内容>
</手紙>
// 署名ファイル(signature.xml)
<署名>
<対象ファイル>document.xml</対象ファイル>
<署名データ>ABC123...</署名データ>
</署名>
エンベロープ署名
XML文書の中にXML署名の情報を入れて管理します。
電子契約等の場合にこの方法が選択されます。
<手紙>
<内容>こんにちは</内容>
<署名>
<署名データ>ABC123...</署名データ>
</署名>
</手紙>
エンベローピング署名
署名情報の中にXML文書を格納してしまう形です。
文書情報自体が小さく、まとめて管理したほうがよい場合に利用されます。
<署名>
<署名データ>ABC123...</署名データ>
<元データ>
<手紙>
<内容>こんにちは</内容>
</手紙>
</元データ>
</署名>
回答
XML文書の一部(エレメント)に対して、署名(デタッチ署名)を行うことができる、という特徴から、政界の回答は「ア.XML文書中の、指定したエレメントに対してデタッチ署名(Detached Signature)することができる。」になります。
「イ.エンイベローピング署名(Enveloping Signature)では一つの署名対象に必ず複数の署名を付ける。」については、エンベローピング署名は署名の中にXML文書を格納する形のため、間違い選択肢です。
「ウ.署名形式として、CMS(Cryptographic Message Syntax)を用いる。」はXML形式の署名ではないため、誤り。
「エ.署名対象と署名アルゴリズムをASN.1によって記述する。」もアルゴリズムがXML構文でないため、誤り選択肢です。
XML署名自体についてちゃんと理解していれば、アorイの2択になり、署名の形について理解していれば解ける問題でした!
この問題については以上です。
Discussion