正解は ア
XMLディジタル署名(XML Signature)は、XML文書やその一部、あるいは外部のデータに対してディジタル署名を施すための仕様です。XML署名には、署名対象と署名要素の位置関係によって3つの形式があります。デタッチ署名(Detached Signature)は、署名対象が署名要素の外部(別ファイルや、同じXML文書中の別のエレメント)にある形式です。エンベロープ署名(Enveloped Signature)は署名対象の中に署名が含まれる形式、エンベローピング署名(Enveloping Signature)は署名の中に署名対象が含まれる形式です。XML署名の特徴として、XML文書中の任意のエレメントを対象にデタッチ署名を付けられる柔軟性があります。選択肢aの「XML文書中の任意のエレメントに対してデタッチ署名(Detached Signature)を付けることができる」が、XMLディジタル署名の特徴として正しく、正解です。XML署名は、文書の一部分だけに署名したり、複数の対象に別々の署名を付けたりできる柔軟性が特徴で、ASN.1で記述するわけでもCMSを必須とするわけでもありません。3つの署名形式の違いを整理して理解しておきましょう。
XML署名の3形式:デタッチ署名(署名対象が署名の外部)、エンベロープ署名(署名対象の中に署名)、エンベローピング署名(署名の中に署名対象)。任意のエレメントを対象にできる柔軟性が特徴。CMSやASN.1とは別物。