クライアント証明書認証とは、サーバーに認証要求を送信するために、クライアント端末で利用される電子証明書の一種である。サーバーとクライアントの認証システムを設計する上で重要な役割を果たし、認証要求を行う端末の身元を保証する。
クライアント証明書の役割
システムを利用する際の認証として、最も多く用いられているものはIDとパスワード入力である。本人しか知らないパスワードを知っているが故に、「パスワードを入力して認証要求を行っているユーザーは正当な認証要求者」だと見なされる。
このように現在においても、多くの場合ではID・パスワード認証のみが用いられているが、パスワードの特性上、脆弱な側面もある。例えば、パスワードは文字列であるため、権限者が別な人に簡単に教えることができたり、パスワードをうっかりメモした場合、その紙を盗難されるリスクがある。また、同じパスワードを複数のシステムで利用している場合、1つのパスワードが盗難された場合に、盗難されたパスワードを用いて悪意のあるハッカーが、複数のシステムに不正アクセスを試みられる場合もある。
さらに、パスワードが流出・盗難されていない場合でも不正アクセスの攻撃を受ける場合がある。単純でよく利用される、攻撃されやすいパスワードを用いている場合は、ハッカーからのパスワード総当たり攻撃(ブルートフォース攻撃)を仕掛けられ、不正アクセスを許してしまう場合もあるためである。
・参考記事
ブルートフォース攻撃を阻止する方法とは
こうした不正アクセスを試みる攻撃から会社・組織を守るため、「あらかじめ電子証明書がインストールされた特定の端末からのみ認証を許可する」という着想が生まれ、これが現在クライアント証明書と呼ばれている。
クライアント証明書を用いると、ネットワークから攻撃を受けた場合であっても、端末から電子証明書を盗み出して利用することはできない。また、パスワードが漏えいした場合でも、クライアント証明書がインストールされた端末も同時に盗まれるケースはごく少ないため、不正アクセスを防ぐことができる。
クライアント証明書自体は、20年以上前から用いられている技術でありながら、その有用性が幅広く理解されていることから、現在も現役で用いられている。
クライアント証明書もサーバー証明書も同じ技術を用いている
証明書は、認証局という第三者に「認証を行う個人・組織」が信頼できることを証明してもらうために利用されている。ちなみにクライアント証明書とは別に、「サーバー証明書 (SSL) 」があり、通信を暗号化するとともに、利用者がアクセスしているサーバーが信頼できるサーバーであることを担保している。
クライアント証明書とサーバー証明書は、技術的な違いはほぼなく同様の働きをしている。クライアントにインストールされれば、クライアントが正当な権限のある端末であることを証明し、サーバーにインストールされれば、インストールされたサーバーが正しい組織により運営されていることを証明している。
証明書の信用を担保するのが認証局
クライアント証明書は、情報セキュリティの根幹の一部を担う重要な機能である。よって、怪しい企業が勝手に証明書を発行したり、証明書を偽造されたりしないように、発行できる組織が限定されている。この、電子証明書の発行が許可された組織は「認証局」と呼ばれている。なお、当社GMOグローバルサインもこの認証局である。
認証局は、組織または個人が信頼できるかどうかを確認したうえで、個人や組織の証明書の公開鍵証明書を暗号化し、認証局による署名を行い、配布する。なお、認証局は証明書に有効期限を付与するため、有効期限がきた証明書は利用できなくなる。このため、新しい有効期限が付与された証明書を定期的にインストールする必要があり、これが不正アクセスを防ぐ仕組みともなっている。
なお、2019年2月の調査によると、当社を含む上位5社で全世界の認証局シェアの97%超に上っている。
クライアント証明書を利用した各種認証の強化
クライアント証明書は、例えば「会社・組織のシステムにログインする際の証明書」として用いられるケースが多いが、他のシステム・サービスを利用する際の認証の強化にも用いることができる。
例えば、当社のシングルサインオンサービスである「トラスト・ログイン」は、各種クラウドサービスならび社内システムへのシングルサインオンを提供するサービスである。利用者がシングルサインオンを行う前段階として、トラスト・ログインへの認証を行う必要があるが、このタイミングでクライアント証明書を用いることができる。
クライアント証明書がインストールされていない端末からは、トラスト・ログインのシングルサインオンが利用できないため、万が一トラスト・ログインのパスワードが漏えいしたとしても、不正アクセスを試みるハッカーはログインできない。このように、クライアント証明書利用が可能な製品・サービスであれば、一度インストールしたクライアント証明書を、複数の製品・サービス向けに用いることが可能となる。
クライアント証明書の今後
現在では、FIDO UAFなどスマートフォンでの操作を前提とする認証、FIDO U2Fなどの複数デバイスを利用する認証、そして複数の認証要素を用いる多要素認証が一般的になりつつある。
しかし、クライアント証明書の特性である「一度インストールすれば、毎度の認証時に手続きを取らずとも、有効期限が切れるまで有効」「端末を特定してインストールできる」という点の優位性はいまだ揺らいでいない。今後とも、多様な認証方式が導入・利用されていくが、クライアント証明書も引き続き高いニーズがあり続けると推察する。