送ったデータの完全性を保証するためのディジタル署名

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

XMLディジタル署名の特徴はどれか。

  1. (正解)XML文書中の、指定したエレメントに対してデタッチ署名(Detached Signature)することができる。
  2. エンベローピング署名(Enveloping Signature)では一つの署名対象に必ず複数の署名を付ける。
  3. 署名形式として、CMS(Cryptographic Message Syntax)を用いる。
  4. 署名対象と署名アルゴリズムをASN.1によって記述する。

出典 : 安全情報確保支援士試験 平成28年秋期 午前Ⅱ問4

2024-08-24訪問 世田谷6 新寿湯

ディジタル署名でデータがなりすましや改ざんが行われていないことを証明します。

ディジタル署名は、「誰が作った」「改竄されていない」と言うことを証明するためにデータにくっつけます。

送信側のデータをハッシュ値にしてデータと一緒に送信し、受信側でもデータをハッシュ値にして比較することで改ざんされていないことを確認する仕組みをメッセージ・ダイジェストといいます。
データから生成したハッシュ値ダイジェスト値といいます。
データのダイジェスト値ハッシュ関数で取得して、それを秘密鍵で暗号化します。
ハッシュ値を暗号化した値がディジタル署名です。

  1. 送信者と受信者で公開鍵とハッシュ関数の共有する
  2. 送信者 : 「データ」からハッシュ関数ダイジェスト値を算出する
  3. 送信者 : ダイジェスト値秘密鍵で暗号化して「ディジタル署名」を作る
  4. 送信者 : 「データ」+「ディジタル署名」を送信する
  5. 受信者 : 公開鍵で「ディジタル署名」を複合化してダイジェスト値を得る
  6. 受信者 : 「データ」からハッシュ関数ダイジェスト値を算出する
  7. 受信者 : 2つのダイジェスト値が一致していれば正当性が証明される

新潟の月岡温泉で買ったがま口

XMLディジタル署名XML要素として署名を付けられます。

  • 英語 : XML digital signature
  • 別名 : 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署名の種別

http://image.itmedia.co.jp/ait/articles/0207/24/r12webserv01.gif
XMLデジタル署名とXML暗号:Webサービスのセキュリティ(2) - @IT

https://www.ipa.go.jp/security/pki/images/image087.png
https://www.ipa.go.jp/security/pki/images/image088.png
PKI関連技術に関するコンテンツ

XML文書中の任意のエレメントに対してつけることができるのがデタッチ署名です。

  • 英語 : Detached Signature

対象データと署名を別々のところに置いとけるのはデタッチ署名です。

Detached Signature(デタッチ署名)
署名要素と署名対象要素が独立している場合の署名形式。(署名対象別のファイルである場合や同じXML文書内でも要素の親子関係がないときなど)
平成28年秋期問4 XMLディジタル署名の特徴|情報処理安全確保支援士.com

署名対象要素と署名要素が独立した署名形式(sibling elements)である。
Detached署名は、署名対象データに任意の電子ファイル(Word、ExcelMPEG画像データ、XML文書など)を指定して、署名対象データをXML署名部分とは独立させ外部ネットワークやローカルファイルに置くことができる。またXML文書内にXML署名要素とXML署名対象要素を並列に配置させることもできる。
XMLデジタル署名とXML暗号:Webサービスのセキュリティ(2) - @IT

エンベロープ署名は、複数の人の署名を付けられます。

署名要素が署名対象要素の子要素となる署名形式である。
Enveloped署名は同じ文書に複数人の署名を付けるなどの用途に適している。
XMLデジタル署名とXML暗号:Webサービスのセキュリティ(2) - @IT

エンベローピング署名では署名要素の子要素として対象データを指定します。

署名要素が署名対象要素の親要素となる署名形式である。
Enveloping署名は署名対象要素を包含した形式で、医療のカルテのように初めの医師が署名したカルテに、次の医師が新しく書き添えた部分のみに署名を加えていくような用途に適している。
XMLデジタル署名とXML暗号:Webサービスのセキュリティ(2) - @IT


次回の勉強内容

ponsuke-tarou.hatenablog.com