テックブログ

技術ネタ

ベーシック認証・ダイジェスト認証とクライアント証明書

こんにちは。技術部のsです。

今回はベーシック認証・ダイジェスト認証とクライアント証明書について紹介します。
どちらも、特定のユーザのみ対象のWEBページへアクセスができるよう制限をかける設定となります。

それぞれの特徴は以下の通りです。

ベーシック認証

特定のディレクトリやファイルに対して、IDとパスワードで認証を行う方法です。
.htaccessまたはconfファイルに設定を記載し、.htpasswd等のパスワードファイルを指定します。

このパスワードファイルはIDとパスワードをBase64という方式で エンコード(記号化) しているだけで
暗号化 されているわけではありません。

またHTTPで通信している場合はIDとパスワードが平文のまま流れてしまいますので、
改ざんや盗聴のリスクが高まります。
なるべくSSLを利用し、HTTPS通信で暗号化を行いましょう。

ダイジェスト認証

こちらもベーシック認証同様、IDとパスワードで認証を行う方法です。

ダイジェスト認証はパスワードファイルがMD5やSHA-256等のアルゴリズムで ハッシュ化
されているので、HTTP通信の際でも平文でパスワードが送信されることはありません。

その為、ベーシック認証より強固ではありますが、強度はあまり強くありません。

クライアント証明書

「証明書」というとサーバに設置し、WEBページを暗号化するSSLサーバ証明書がよく聞かれると思いますが、
クライアント証明書は、PCやスマートフォン端末等のクライアント側が証明書を提示し、認証を行う方法です。

ベーシック認証やダイジェスト認証と違い、IDやパスフレーズの入力の必要はないので、
その分セキュリティリスクを削減できます。

クライアント証明書はサーバ上のプライベート認証局(オレオレ認証局)で自己証明書として発行し
利用することが可能です。

グローバルサイン等のパブリック認証局でも発行、購入することは可能ですが
SSLサーバ証明書に比べると、お値段がお高めになっています。

まとめ

ベーシック認証とダイジェスト認証は、設定が容易ではありますが、
設定する際には、HTTPSでの利用、ベーシック認証の場合は.htpasswdをドキュメントルート配下に設置しない等、対策を重ねることを推奨します。

また 簡易的な設定 であることも念頭に置いておきましょう。

一方、クライアント証明書は、特定の端末からのみの認証が可能となるため
情報を持っていれば不特定多数の場所から認証が可能になる、IDとパスワードでの認証より
安全に利用することができますが、証明書作成や設置の作業や、費用が発生することになります。

やはり安全を手に入れるためには、手間やお金を惜しむことはできませんね…。

また、今回ご紹介の認証設定は、弊社で設定代行も可能でございますので、ご希望のお客様はお問い合わせくださいませ。

実績数30,000件!
サーバーやネットワークなど
ITインフラのことならネットアシストへ、
お気軽にご相談ください