マインドマップで学ぶ-技術者のためのシステムセキュリティ対策入門(第6回)
2010年10月01日作成
梅原伸行
システム的なセキュリティ対策周辺を図解していく本連載ですが、今回は「改ざんを防ぐ!」の後編として「PKI」とその応用例を取り上げたいと思います。
「PKI」は「Public Key Infra-structure」の略で「公開鍵暗号基盤」と訳されます。「PKI」は、前回述べた「公開鍵暗号技術」を応用し、ネットワーク上で安全に「秘密鍵」を秘匿し「公開鍵」を配布する仕組みを実現します。
その中心となるのが「認証局(以下、CA1)」ですが、「CA」は「PKI」の仕組みの中で、利用者からの申し込みを受け付けて「公開鍵証明書」を発行し、「公開鍵」の正当性の証明を行う「信頼できる第三者機関」2としての役割を果たします。(「公開鍵」を現実世界の「印影」に例えると、「印鑑証明書」は「公開鍵証明書」、「CA」は「印鑑証明書を発行した自治体」に相当。)また、「CA」は、大きく「パブリックなCA」と「プライベートなCA」に分けられます。
「パブリックなCA」は、第三者的な組織・機関がCAとなり、企業や利用者の証明書を発行するもので、社会的な有効性の獲得が可能な一方、厳重な審査が求められるのが特徴です。具体例としては、国が運営を行っている「政府認証基盤(GPKI3)」、地方自治体が運営を行っている「地方公共団体組織認証基盤(LGPKI4)」、オンラインショッピングやインターネットバンキング、オンライントレードなどの際に利用されている民営認証局の「ベリサイン5」や「サイバートラスト6」などがあります。数年前に問題が取りざたされた「住基ネット7」は、インターネットを介して行政サービスが受けられる全国的な社会基盤ですが、「GPKI」および「LGPKI」と連携した「公的個人認証サービス8」を利用して実現しています。
一方、「プライベートなCA」は、企業内ネットワークなど、組織内で有効な証明書を発行するものですが、Windows Serverの「証明書サービス」や「OpenSSL9」をインストールすることで比較的簡単に構築することが可能なため、「パブリックなCA」に比べて低コストかつ効率的に証明書発行可能なのが特徴です。 さて、「CA」が発行した「公開鍵証明書」は、Webサーバとブラウザ間のSSL暗号化通信やS/MIME暗号化電子メール送受信などによって送られてきた「公開鍵」が確かに相手のものであり、改ざんされていないことを確認するために利用します。Webブラウザは、送られてきた「公開鍵」を発行元の「CA」に問い合わせ、正当性が証明されると、セキュア接続を確立したことを示す「鍵アイコン」を表示しますが、「プライベートなCA」を悪用すると、インターネット上に社会的に信頼されない認証局を立てて証明書を発行し、その正当性を自分自身が証明してしまう「オレオレ証明書10」サイトも構築できてしまいます。ただし、最新のWebブラウザであれば、大抵の場合、フィッシング詐欺検知機能が働いて、アドレスバーが赤くなったり、警告メッセージを表示してブロックしてくれますが、IE6の場合、「サイトのセキュリティ証明書に問題があります。継続しますか」のような警告メッセージは表示されるものの、デフォルトが「継続」であり、一旦、継続してしまうと、その後、何の異常もなかったように接続されてしまうため、要注意です11。
「PKI」のようなインフラが浸透している一方、「改ざん」は社会的問題ともなっていますので、それを抑制する法律も整備されています 。例えば、「e-文書法」(2005/4)12 では、「保存義務期間中に文書が改ざん・消去されないこと、改ざんされたことが確認できること」という「真正性」が技術要件として求められています13。また、「日本版SOX法」(2007/9)でも、財務報告の適正性を確保するため、上場企業に内部統制の構築が義務付けられており、虚偽があった場合、5年以下の懲役もしくは500万円以下の罰則が定められています。