前のページ 目次 次のページ

最終更新日: 2002年12月27日


7.4  XML 署名

7.4.1  概要

近年、インターネット上での情報交換のためのフォーマットとして、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 として公表されています。

XML 署名では、署名データは XML 形式で表現されます(図 7-20)。

図 7-20 XML 署名の例

XML 署名の主な特徴を以下に示します。

(1)  署名を XML で表現するため、従来のバイナリ形式の署名に比べて可読性や再利用性が向上します。

(2)  署名の対象となる文書は XMLに限りません。バイナリファイルなどにも署名することができます。

(3)  XML 文書全体に対する署名に限らず、文書の一部分への署名、複数の XML 文書への署名、XML 文書への複数人による署名が可能です。署名対象はタグによって URI などで指定します。

7.4.2  機能

XML 署名は、次のセキュリティ機能を提供します。

(1)  完全性 (Integrity)

デジタル署名により、署名対象のデータの改ざんを検出します。

(2)  認証 (Authentication)

デジタル署名に付与する署名者の証明書により、署名者の認証が行えます。

(3)  否認防止 (Non Repudiation)

デジタル署名により、XML 文書に対する否認を防止します。

7.4.3  構造

XML 署名は、構造の違いにより 3つの種類があります(図 7-21)。

図 7-21 XML 署名の種類

(1)  Detached 署名

XML 署名が対象文書と独立している形式です。署名対象は URI によって参照され、任意の電子文書を指定できます。

(2)  Enveloped 署名

対象文書の中に XML 署名が生成される形式です。XML 署名自身は署名の対象外となります。

(3)  Enveloping 署名

XML 署名の中に対象文書が格納される形式です。

7.4.4  正規化と変換

XML 文書は柔軟な表現が可能であり、1つの意味が複数の方法で表現されることがあります [76]。このため、XML にデジタル署名を施す前には、表記を一意のものに統一しておく必要があります。表現を統一するためには、正規化 (Canonicalization) と変換 (Transform) を行います(図 7-22)。正規化の規約として W3C が開発中の Canonical XML があり、RFC3076 で提案されています。

図 7-22 正規化と変換


前のページ 目次 次のページ Copyright © 2002 Information-technology Promotion Agency, Japan. All rights reserved.