Cosminexus V9 アプリケーションサーバ Cosminexus XML Security - Core ユーザーズガイド

[目次][用語][索引][前へ][次へ]

2.1 XML署名とは

この節では,XML署名とは何かを説明し,XML署名の種類および構文を説明します。

XML署名とは,XML文書をはじめとするさまざまな電子データに対して付けられる電子署名の一種です。ネットワークを介して電子データをやり取りすることが多くなった現在,電子データを安全にやり取りするために,セキュリティ問題に対する関心が高まっています。電子データにXML署名を付ければ,その電子データの完全性が保証できます。また,XML署名は,成り済まし防止および否認防止にも有効です。

この節では,XML署名によってどのように電子データの完全性を保証するのか,また,どのように成り済ましや否認を防止するのかについて説明します。

電子データの完全性を保証する
Webサイトやインターネットなど,ネットワークを介してデータを送受信する場合,送受信の途中,第三者によってデータが改ざんされてしまうおそれがあります。例えば,受注や発注の金額が改ざんされた場合など,重大な損失が発生するおそれがあります。XML署名は,次のような仕組みで改ざんによる被害を防止し,データの完全性を保証します。
送信前の電子データのダイジェスト値が,XML署名に含まれます。そのため,データにXML署名を付けておけば,送信から受信の間でデータが改ざんされているかどうかを,受信したデータのダイジェスト値とXML署名に含まれるダイジェスト値を比較することで調べられます。XML署名付きのデータを受信した人は,専用のアプリケーションでXML署名を検証します。

成り済ましまたは否認を防止する
Aさんではない人が,Aさん本人であると身分を偽って電子データを送信することを,成り済ましと呼びます。反対に,Aさん本人が送信した電子データに対して,Aさんが「自分が送信したのではない」と主張することを,否認と呼びます。電子データをやり取りする場合,こうした成り済ましや否認を防止する必要があります。XML署名は,次のような仕組みで成り済ましおよび否認を防止します。
電子データの送信者がだれなのかを特定するために,XML署名には署名生成時に使用した秘密鍵と対になる公開鍵を含む証明書の情報を含むことができます。証明書とは,信頼できる第三者機関である認証局(CA)によって発行される,電子的な身分証のようなものです。また,秘密鍵は,その持ち主が安全に管理しているので,Aさんの秘密鍵はAさんだけが使用できます。この場合,対になる公開鍵で検証に成功するのは,Aさんが管理している秘密鍵で生成したXML署名だけです。そのため,電子データに付いているXML署名の検証が成功すれば,証明書から識別されるAさんが,その電子データを確かに送信したことが証明されます。
このように,XML署名では,秘密鍵,公開鍵,および証明書を利用して電子データの送信者を認証するので,成り済ましや否認を防止できます。
<この節の構成>
2.1.1 XML署名の種類
2.1.2 XML署名の構文