Interstage Application Server セキュリティシステム運用ガイド
目次 索引 前ページ次ページ

第5部 Webサービス(SOAP)のセキュリティ> 第19章 Webサービス(SOAP)のセキュリティ機能> 19.1 SOAPメッセージセキュリティが必要となる背景

19.1.3 なりすましの危険性と防止方法

 なりすまは、送信者、受信者以外の第三者が、送信者、受信者であると主張することにより行われます。これにより、意図しない送信者からの通信データを受けてしまったり、意図しない受信者に通信データを送ってしまったりする危険性があります。

 このようななりすましを防止する方法として、以下の3つが考えられます。

  1. SSLの認証を利用
  2. 電子署名(SOAP電子署名)、暗号化(XML暗号)を利用
  3. 送信者、受信者の間でユーザID / パスワードを共有

 1,2.の方法では、認証局は送信者、受信者の証明となる証明書を発行し、送信者、受信者はそれぞれの証明書を提示して通信を行います。証明書は送信者、受信者が用いる公開鍵が、確かに送信者、受信者のものであることを証明することができるため、この公開鍵に対応する秘密鍵での電子署名、暗号化は送信者、受信者本人のものであることが確認できます。
 1,2.の方法は共に証明書を利用した身元保証を行うことができますが、以下のような違いがあります。

 1.のSSLを利用する方法は、トランスポートレイヤでの送信者、受信者認証を行うことができます。これにより、送信者、受信者双方のなりすましを防止することができます。しかし、仲介者が存在する場合、送信者と仲介者、仲介者と受信者の間で認証を行うことになり、送信者、受信者間での直接の認証は行うことはできません。

 2.の電子署名を利用した認証では、送信者が通信内容と共に証明書を添付することにより送信者の認証を行うことができます。また通信データの暗号化では、受信者が公開した証明書を送信者が利用することにより、受信者を特定することが可能となります。これらの手法では、仲介者が存在する場合でも同じように送信者、受信者の間で直接利用することが可能となります。
 つまり、SSLなどトランスポートレイヤを用いた認証では、仲介者が存在する場合に間接的な認証となってしまうのに対し、電子署名、暗号化を用いた認証では、仲介者が存在していても直接の認証が可能となる、という違いがあります。

 3.の方法では、受信者が送信者にユーザID / パスワードを発行し、送信者は発行されたユーザID / パスワードを提示して通信を行います。ユーザID / パスワードは送信者、受信者以外は知らないため、正しいユーザIDとパスワードを受信した受信者は、メッセージが送信者から送られてきたことを確認できます。

 HTTPのベーシック認証を利用すると、受信者は送信者認証を行うことができます。HTTPのベーシック認証ではパスワードは暗号化されずに送信されます。そのため、通信路上で盗聴される危険性がある場合、SSLなどのトランスポートレイヤでの暗号化を利用して、通信の傍受を防止する必要があります。しかし、SSLでは仲介者が存在する場合、“盗聴の危険性と防止方法”で述べたように、仲介者はユーザID / パスワードを傍受することが可能であるため、仲介者による送信者のなりすましを防止することはできません。このような場合には、ユーザID / パスワードをSOAPメッセージに記述し、SOAPメッセージそのものを暗号化することにより仲介者によるなりすましを防止する方法が非常に有効です。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006