2017-01-10 20 views
2

XML Signature Specification(3.2.2 "署名検証")によれば、のKeyInfo要素が署名されてもよい。XML署名 - KeyInfo要素に署名する理由

「注意、のKeyInfo(またはその一部変換されたバージョン)があってもよいですReference要素を介して署名されています。

Hereこのような署名を持つxmlの例を見ることができます。

証明書に署名する理由はありますか?

どのようなセキュリティリスクが排除されますか?

答えて

2

XAdESの属性signingCertificateに関するこの明確なセクションを見てください。 ds:KeyInfoが存在しないか、署名に使用される証明書が含まれていない、と同じ目的を果たす場合ETSIのXAdESは

signingCertificate必須で長期間有効なまま高度署名の要件を築くためにXMLDSIGの上に構築され

多くの実際の生活の中で

7.2.2 SigningCertificate要素

ユーザーは、異なるCAから、あるいは同じCAから別の名前に同じ公開鍵を含む異なる証明書を取得することができます環境。主な利点は、ユーザーが異なる目的で同じ秘密鍵を使用できることです。スマートカードの記憶は常に制限されているので、秘密鍵を複数回使用することは、スマートカードを使用して秘密鍵を保護する場合の利点である。いくつかのCAが関与する場合、それぞれの異なる証明書は異なるアイデンティティを含むことができる。国民として、または会社の従業員として。したがって、秘密鍵がさまざまな目的で使用される場合、署名を生成するときに秘密鍵が使用されたコンテキストを明確にするために証明書が必要です。秘密鍵を複数回使用する可能性がある場合、署名者は、使用する正確な証明書を検証者に示す必要があります。

多くの現行のスキームは、署名されたデータの後に証明書を追加するだけで、さまざまな代替攻撃の対象となります。代替攻撃の例は、他人の公開鍵を持つ人物に証明書を発行する「悪い」CAです。署名者の証明書が単に署名に追加され、署名によって保護されていない場合、いずれかの証明書を別の証明書で置き換えることができ、メッセージは他の人によって署名されたように見えます。 この種の攻撃に対抗するには、証明書の識別子を署名者からのデジタル署名で保護する必要があります。

+0

私はこれらの署名と証明書で5年間働いていましたが、同じ鍵またはそのような種類の反撃で複数の証明書について知りませんでした。覚えておくべきことは常にあります:) – Thuan

+0

@pedrofbしかし、「悪い」(信頼できる)CAが存在し、攻撃者の証明書を発行すると、攻撃者は証明書と署名の両方を置き換えることができます。その証明書も保護します。 「悪い」CAの場合、証明書に署名することは役に立ちませんか? – dimmoborgir

+0

確かに@dimmoborgir。あなたは以前に二重確認のために公開鍵を受信者に送ることによってのみ自分自身を守ることができます。 「悪い」CAは、秘密鍵を所有していないため、有効な署名を作成できません。しかし、そのCAが「信頼できる」とみなすことは困難です。要件は非常に厳しいです。証明書を発行するトラストサービスプロバイダの要件を見てください:http://www.etsi。org/deliver/etsi_en/319400_319499/31941101/01.00.00_20/en_31941101v010000a.pdf – pedrofb

関連する問題