エンティティ認証(主体認証)は、ユーザやホストが本物であるのかどうかを確かめる技術です。エンティティ認証は、本人だけが知っている知識の有無を確認する、本人だけが持っている所有物を確認するといった方法で行います。本人だけが知っている知識の有無を確認する方法には、パスワード認証があります。本人だけが持っている所有物を確認する方法には、バイオメトリクス認証やICカードによる認証があります。
1:パスワード認証
正しいパスワードを知っているかどうかで本人の確認をします。クライアント側でユーザIDとパスワードを入力し、それらをサーバに送ります。サーバ側では、サーバに登録されているユーザID、パスワードと一致するのかを確認します。一致すれば、本人であるとみなします。
なお、サーバでは、パスワードをパスワードファイルと呼ばれるファイルに登録しておきます。パスワードファイル中にパスワードを平文で記録しておくと、攻撃を受けてパスワードファイルが盗まれてしまった時に、大量のパスワードが漏洩してしまいます。そこで、パスワードのハッシュ値をパスワードファイルに登録しておくことが一般的です。この場合、サーバは、送られてきたパスワードのハッシュ値を計算し、パスワードファイル中のハッシュ値と一致するかどうかで、正しいパスワードが入力されたかどうかで、正しいパスワードが入力されたかどうかを判断します。
2:チャレンジレスポンス認証
パスワードを平文でサーバに送ると、途中で第三者に盗聴され、盗み取られてしまう危険があります。パスワードを暗号化したとしても、盗んだユーザIDと暗号化パスワードをそのまま利用して認証を受けること(リプレイ攻撃)が可能ですから、危険性は減りません。そこで、サーバにパスワードを直接伝えることなく、確かにパスワードを知っていると確認させる方法が考え出されました。チャレンジレスポンス認証です。チャレンジレスポンス認証では、パスワードを「使う」ことによって、知っていることの証です。
「チャレンジレスポンス認証の手順」
①サーバが乱数を用いて数値を作ります。これをチャレンジと言います。チャレンジが、毎回同じ値だとリプレイ攻撃の対象にされて危険ですので、乱数で毎回異なった値にするところが肝心な点です。
②チャレンジをクライアントに送ります。クライアントは、パスワードを鍵として使って、チャレンジを暗号化します。暗号化されたチャレンジをレスポンスと言います。
③レスポンスをサーバに送ります。途中で第三者が盗聴していたとしても、レスポンス(暗号化された暗数)が第三者の手に渡るだけなので、実害はありません。レスポンスから、暗号化に使った鍵(パスワード)を推測することはほぼ不可能です。
④サーバは、パスワードファイルに登録されているパスワードを鍵として使って、レスポンスを復号します。復号して得られた数値とチャレンジを比較します。両者が一致した場合、すなわち、正しく復号できた場合は「クライアントは登録されているパスワードを鍵として使って暗号化した」ことになります。登録されているパスワードを鍵として使えるのは本人しかなません。つまり、クライアントは本人です。
「公開鍵を用いたチャレンジレスポンス認証」
チャレンジをパスワードで暗号化していたことに代えて、チャレンジにクライアント(ユーザ)の秘密鍵を使ってディジタル署名をつけ、このディジタル署名をレスポンスとして返す方法があります。サーバでは、受領したディジタル署名をクライアント(ユーザ)の公開鍵を利用して認証します。このような方法を、公開鍵における認証と言っています。なお、サーバがディジタルh染井の認証に利用する公開鍵は、事前にサーバに登録しておくか、公開鍵証明書をその都度サーバに送るします。
3:バイオメトリクス認証(生体認証)
バイオメトリクス認証は、指紋、声、顔といった生体情報で本人確認を行う方法です。代表的なものに、
①指紋:光学式センサや薄型静電式センサを用いて、特徴点抽出方式やパターンマッチングにより照合する。
②声帯:事前に登録した音声の周波数パターンと照合する。
③虹彩:虹彩(目の奥の模様)のパターン照合する。
④掌の静脈:LED光源からの赤外線照射をお行い、静脈のパターンを照合する。
があります。
登録されている生体情報とのチェックを厳しくすると、指に怪我をしたとか、風邪でガラガラ声であったとか、そういったことでも、登録されている生体情報と違うと判断されてしまいます。本人でも認証に失敗するわけです。このように本人でもに認証に失敗する確率を本人拒否率(FRR)と言います。
一方で、本人拒否率を下げようとして、登録されている生体情報とのチェックを甘くすると、少しの違いは気にしないことになります。その結果、他人でも認証されてしまいます。このように、他人であっても認証に成功する確率を他人受入率(FAR)と言います。
結局、
・他人拒否率を下げると他人受入率は上がる。
・他人受入率を下げると本人拒否率は上がる。
のです。運用の利便性とご認証の度合いを考慮して、適切なレベルでチェックすることが重要です。