送ったデータの完全性を保証するためのディジタル署名
- 前回の勉強内容
- 勉強のきっかけになった問題
- ディジタル署名でデータがなりすましや改ざんが行われていないことを証明します。
- XMLディジタル署名はXML要素として署名を付けられます。
- XML署名の種別
- 次回の勉強内容
前回の勉強内容
勉強のきっかけになった問題
- (正解)XML文書中の、指定したエレメントに対してデタッチ署名(Detached Signature)することができる。
- エンベローピング署名(Enveloping Signature)では一つの署名対象に必ず複数の署名を付ける。
- 署名形式として、CMS(Cryptographic Message Syntax)を用いる。
- 署名対象と署名アルゴリズムをASN.1によって記述する。
出典 : 安全情報確保支援士試験 平成28年秋期 午前Ⅱ問4

ディジタル署名でデータがなりすましや改ざんが行われていないことを証明します。
- 英語 : digital signature
- 別名 : 電子署名
ディジタル署名は、「誰が作った」「改竄されていない」と言うことを証明するためにデータにくっつけます。
送信側のデータをハッシュ値にしてデータと一緒に送信し、受信側でもデータをハッシュ値にして比較することで改ざんされていないことを確認する仕組みをメッセージ・ダイジェストといいます。
データから生成したハッシュ値をダイジェスト値といいます。
データのダイジェスト値をハッシュ関数で取得して、それを秘密鍵で暗号化します。
ハッシュ値を暗号化した値がディジタル署名です。
- 送信者と受信者で公開鍵とハッシュ関数の共有する
- 送信者 : 「データ」からハッシュ関数でダイジェスト値を算出する
- 送信者 : ダイジェスト値を秘密鍵で暗号化して「ディジタル署名」を作る
- 送信者 : 「データ」+「ディジタル署名」を送信する
- 受信者 : 公開鍵で「ディジタル署名」を複合化してダイジェスト値を得る
- 受信者 : 「データ」からハッシュ関数でダイジェスト値を算出する
- 受信者 : 2つのダイジェスト値が一致していれば正当性が証明される

XMLディジタル署名はXML要素として署名を付けられます。
・署名対象、署名アルゴリズムやメッセージダイジェストおよび証明書などをXMLの文法で表現している。
・ディジタル署名がXMLタグ付き言語であり分かりやすい。
・任意のデータファイルやXML文書の全体だけではなく、XML文書の一部に対しても署名を付けることができ、部分署名や多重署名などができる。
・XML署名で参照する暗号アルゴリズムなどのオブジェクトの識別子は、W3Cなどで定めているURIを参照する。
2016N(½¬28N) Hú îñZLeBXyVXg ßOII â4
署名対象のダイジェスト値(ハッシュ値)を求め、ダイジェスト値を子要素としてXML署名情報要素に入れ、さらにその署名情報要素に対してダイジェスト値と署名値を計算し挿入する。
XMLデジタル署名とXML暗号:Webサービスのセキュリティ(2) - @IT
XML 署名では、XML ドキュメントに埋め込むか、別の方法で XML ドキュメントに関連付けることができる一連の XML 要素を定義します。これによって、受信者は、メッセージが変更されておらず、送信者が意図したとおりのものであることを確認できます。
XML デジタル署名入門 | Microsoft Learn
デジタル・コンテンツに対するデジタル署名に署名し、それを検査するための XML 構文および処理規則を定義する仕様です。 この仕様は、World Wide Web Consortium (W3C) および Internet Engineering Task Force (IETF) による共同開発です。
XML デジタル署名
インターネット上での情報交換のためのフォーマットとしてXMLが使われるので、XML にデジタル署名を付与するする必要があります。
近年、インターネット上での情報交換のためのフォーマットとして、XML(eXtensible Markup Language)が注目を浴びています。XML は拡張可能なマークアップ言語 [75] であり、テキストファイルでありながら構造化された情報を柔軟に扱うことができます。XML は、HTML の元ともなった SGML から、インターネットでの情報交換に必要な箇所を抽出したサブセットです。
XML 文書に対する改ざん、なりすましを防ぐために、デジタル署名の機能が求められています。現在、XML にデジタル署名を付与するための規格として、W3C (World Wide Web Consortium) において「XML 署名(XML Signature)」の標準化が進められています。XML の署名要件(RFC2807)、XML 署名構文と処理(RFC3075)、XML の正規化 (RFC3076) が RFC として公表されています。
PKI関連技術に関するコンテンツ
XML署名の種別
XML文書中の任意のエレメントに対してつけることができるのがデタッチ署名です。
- 英語 : Detached Signature
対象データと署名を別々のところに置いとけるのはデタッチ署名です。
Detached Signature(デタッチ署名)
署名要素と署名対象要素が独立している場合の署名形式。(署名対象別のファイルである場合や同じXML文書内でも要素の親子関係がないときなど)
平成28年秋期問4 XMLディジタル署名の特徴|情報処理安全確保支援士.com
署名対象要素と署名要素が独立した署名形式(sibling elements)である。
Detached署名は、署名対象データに任意の電子ファイル(Word、Excel、MPEG画像データ、XML文書など)を指定して、署名対象データをXML署名部分とは独立させ外部ネットワークやローカルファイルに置くことができる。またXML文書内にXML署名要素とXML署名対象要素を並列に配置させることもできる。
XMLデジタル署名とXML暗号:Webサービスのセキュリティ(2) - @IT
エンベロープ署名は、複数の人の署名を付けられます。
署名要素が署名対象要素の子要素となる署名形式である。
Enveloped署名は同じ文書に複数人の署名を付けるなどの用途に適している。
XMLデジタル署名とXML暗号:Webサービスのセキュリティ(2) - @IT
エンベローピング署名では署名要素の子要素として対象データを指定します。
署名要素が署名対象要素の親要素となる署名形式である。
Enveloping署名は署名対象要素を包含した形式で、医療のカルテのように初めの医師が署名したカルテに、次の医師が新しく書き添えた部分のみに署名を加えていくような用途に適している。
XMLデジタル署名とXML暗号:Webサービスのセキュリティ(2) - @IT



