Basic認証の手順
認証が必要なコンテンツにアクセスしようとすると、ユーザはユーザ名とパスワードの入力が求められる。
ユーザ名とパスワードがBase64でエンコードされて送信される。
Base64は暗号化ではなく、ただのエンコードなので盗聴の危険がある。
サーバ側で受け取ったユーザ名とパスワードを確認して問題なければ、コンテンツを送る。
多分このコンテンツ送信も暗号化されてない。
Basic認証で使う.htpasswd
サーバ側のユーザ管理ファイルが.htpasswd。
Apache付属のhtpasswd
コマンドで生成・編集する。
暗号化はデフォルトでmd5が使われる。(apache2-utils 2.4.29-1ubuntu4.13で確認)
# テスト
htpasswd -n ユーザ名
# ファイル生成
htpasswd -c .htpasswd ユーザ名
生成されたファイル
<ユーザ名>:$暗号の種類$ソルト$暗号化されたパスワード$
md5の場合、以下の方法でパスワードを確認できる
openssl passwd -apr1 -salt <ソルト> <パスワード>