Webアプリケーションでは,Webサーバーとブラウザ間の通信をSSLを使って暗号化するのが一般的な手法である。その際にPKIを利用すれば,アクセスできるパソコンを限定でき,セキュリティをさらに高めることができる。ただし,PKIで使う証明書や秘密鍵の作成と取り扱いには注意すべき点が多い。

 企業の業務システムでは,クライアントにWebブラウザを使うWebアプリケーションが主流となりつつある。パソコンが標準搭載するブラウザをクライアントに使えば,専用のクライアント・ソフトは不要。ブラウザが対応するSSLを用いた暗号化通信を使える点もメリットだ。業務システムでは高いセキュリティが必須である。

 このSSLに欠かせないのがPKIの技術。アプライアンスPKIサーバーのような製品を使えば,PKIの構成要素であるCA局を容易に構築できるようになってきた。だが,PKIサーバーが持つ秘密鍵や有効期限情報には要注意だ。これらの管理を怠ると,思わぬトラブルに陥ることがある。

同じ鍵が生成されない
CA局バックアップで解決

CA局が稼働するPKIサーバーにハードウエア障害が発生する場合がある。ただ,復旧後に秘密鍵を作り直しても,以前と同じものが作成されることはない。クライアント側と鍵が異なり認証できなくなることがある。

 卸売業のA社はインターネット上にWebサーバーを公開して,特約店のパソコンからブラウザを使って業務システムを利用できるような環境を構築した。Webサーバーとブラウザ間の通信はSSLを用いて暗号化。Webサーバーの手前には暗号の計算など負荷の高いSSL処理を専用ハードウエアで実行するSSLアクセラレータを設置した。Webサーバーにかかる負荷を軽減させ,業務システム全体を高速化するためである。

 SSLアクセラレータには,PKIサーバー(CA局)で発行したサーバー証明書をインストールした。これは,SSLアクセラレータで発行したCSR(証明書要求)に対してCA局が電子署名したディジタル証明書である。

 また,相互認証のために,特約店のパソコンにはPKIサーバーで発行したクライアント証明書もインストールした。A社のPKIサーバーで発行したクライアント証明書を持たないパソコンは,Webサーバーにアクセスできない。サーバーとクライアントが相互認証することで,セキュリティを高めることができる。