パブリックトラストと証明書

クライアント証明書と
サーバー証明書は
何が違うのですか?

クライアント証明書とサーバー証明書は何が違うのですか?

クライアント証明書は、ユーザーおよび個人が自分のアイデンティティをサーバーに対して証明するための電子証明書です。クライアント証明書は多くの場合、私的な組織内でリモートサーバーへのリクエストを認証するために用いられます。一方、サーバー証明書は一般には TLS/SSL 証明書と呼ばれ、サーバーおよび Web ドメインを保護するために用いられます。サーバー証明書はクライアント証明書と非常によく似た役割を果たします。ただし、後者がクライアントや個人を証明するためのものであるのに対し、前者はサイトの所有者の認証を行うために用いられます。

クライアント証明書とは何ですか?

クライアント証明書は、その名が示す通り、クライアントまたはユーザーを識別し、そのクライアントをサーバーに対して認証し、それが誰なのかを厳密に明らかにするためのものです。PKI やクライアント証明書というと、企業が顧客とのオンライン取引を保護するためのものというイメージを持つ人もいるかもしれません。しかし、クライアント証明書は私たちの日常生活のありとあらゆる場面で、さまざまな形で使われています。VPN へのサインイン、ATM で使う銀行のカード、建物の入退室カード、公共交通機関のスマートカードなど、枚挙にいとまがありません。ガソリンスタンドの給油ポンプや自動車の組み立てラインのロボットでも使われていますし、パスポートにまで組み込まれています。

ヨーロッパ大陸をはじめとする多くの国々ではクライアント証明書の利用が特に進んでいます。地方税の納付や電気料金の支払い、運転免許証など、多用途に利用できる ID カードを政府が発行しているためです。その理由は簡単です。クライアント証明書は、人々が安全にインターネットを利用できるようにするための決定的な役割を担っているからです。

サーバー証明書とは何ですか?

サーバー証明書は通常、ホスト名に対して発行されます。ホスト名は‘XYZ-SERVER-01’のようなコンピューター名の場合もあれば、‘www.digicert.com’のようなドメイン名の場合もあります。Web ブラウザは、サーバーにアクセスする際、TLS/SSL サーバー証明書が本物であることを確認します。それにより、ユーザーはその Web サイトとのやりとりが盗聴されていないこと、Web サイトが名乗っている通りの本物であることを知ることができます。このようなセキュリティは電子商取引において欠かせません。証明書が現在これほどまでに普及しているのはそのためです。

サーバー証明書とクライアント証明書の組み合わせによってどのようにオンラインの安全性を確保しているのですか?

まず、Web サイトの所有者が DigiCert のような証明書プロバイダに証明書署名要求(CSR)を提出し、サーバー証明書を取得します。CSR とは、Web サイトの名称や連絡先のメールアドレス、企業の情報といった必要な情報をすべて記載した電子文書です。

証明書プロバイダはその要求に署名を行い、パブリック証明書を生成します。パブリック証明書は Web サイトに接続するすべての Web ブラウザに対して提示されます。これは、Web サイトの所有者に間違いないと信頼できる人物に証明書が発行されていることを Web ブラウザに対して証明するという重要な意味を持ちます。証明書を発行する前に、証明書プロバイダはパブリックなドメイン名登録事業者に Web サイトの連絡先メールアドレスを問い合わせ、公開されているアドレスが CSR に記載のアドレスと同じかどうかを確認し、信頼の輪を完成させます。

さらに、Web サイトに接続しようとしているユーザーに対し有効なクライアント証明書および有効なユーザー名とパスワードを提示するよう、Web サイトを設定することができます。これは一般に「2 要素認証」と呼ばれるもので、この例では「知っているもの」(パスワード)と「持っているもの」(証明書)の 2 つによって認証を行います。

証明書を利用すれば、Web 上での取引はもはや匿名では行われないことになります。証明書は、オンラインでやりとりしようとしてる Web サイトが信頼できるという保証を与えてくれるものです。デジタルの世界でセキュリティを実現するのがますます困難になりつつある中で、このような保証は計り知れないほど価値があります。