驚くほどに読者が居ないですが第二回です。
今回は認証のやり方について、その種類をまとめていきたいと思います。
分類
認証の種類は「認証の三要素」として分類されることが多いです。
これはIPAが2003年にまとめた資料によれば、
- 本人の記憶に基づくもの
- 本人の所持に基づくもの
- 本人のバイオメトリクス情報に基づくもの
と表現されています。他の資料では、それぞれを
- 知識情報(Something You Know)
- 所持情報(Something You Have)
- 生体情報(Something You Are)
と表現するものもあります。表現に少々ブレがありますが、指すものは同じなのでとりあえずIPAの表現に従って分類していきます。
また、今回は「ユーザーが何をするか」を軸に分類するので、世間的な分類から多少ずれるものもあります。
本人の記憶に基づくもの
ユーザーが覚えているナニカをもって、「この情報は本人しか知らないはず」という理屈で認証するものです。
暗証番号(PIN : Personal Identification Number)
ユーザーが覚えている番号を入力する、というもの。主に4桁の数字であることが多いですね。
同様のものをPINあるいはPINコードと表現することがあります。
が、PINを直訳すると「個人識別番号」であり、これは認証ではなく識別では…?という気もします。
とにかく、「暗証番号を知っているのは本人だけだ」という理屈で認証を行います。
ただし、たかが4桁程度の暗証番号は総当たりが容易であるため、何度も繰り返し試すことができない仕組みと共に用いられます。
例えば、○回連続で間違えたら口座を凍結する、とかですね。
パスワード
ユーザーが覚えているパスワードを入力する、というもの。暗証番号と比べて、桁数が多く、数字の他にアルファベットや記号が使えるケースが多いですね。
これも、「パスワードを知っているのは本人だけだ」という理屈で認証します。
しかし、以下のような理由でなかなか安全に使いこなすことが難しいです。
- 同じパスワードを何度も入力すると漏洩の危険性がある
- 複数サービスで同じパスワードを使い回すと、漏洩の危険性がある
- 簡単なパスワードを設定しがち(qwertyuiop、p@ssw0rd等)
パスワードの持つ欠点は、根本的に人間が努力する以外に解決のしようがなく、パスワードに頼る認証(ユーザーがパスワードを暗記するタイプの認証)はだんだんと地位を失いつつあります。
パスフレーズ
ランダムな英数字ではなく、単語をランダムに組み合わせたものをパスフレーズと呼ぶことがあります。
一般に同程度の強度を持つパスワードよりも覚えやすく、安全であるということらしいです。
とはいえ、要はパスワードの改良版でしかなく、複数のサービスに対してパスフレーズを毎回覚えるというのは中々無理があると思いますね。
秘密の質問
正直これを認証だと言いたくはないのですが、「秘密の質問」も、まぁ、認証として用いられることがあります。
たとえば「通っていた小学校の名前」とか、「初めて飼ったペットの名前」とか、「子供の頃のあこがれの職業」とか、そういう知識を入力させるやつですね。
「秘密の質問に答えられるのは本人だけ」という理屈で認証するんですが、…通っていた小学校の名前ぐらい探せば分かるんじゃないですかね!?
…というのが研究者の間でも当然話題であり、米国標準技術研究所(NIST)はすでに秘密の質問はヤメロという指示を出しています。
本人の所持に基づくもの
ユーザーが持っているモノをもって、「このモノは本人しか持ってないはず」という理屈で認証するものです。
基本的な前提として、「本人のモノを使えるのは本人だけだ」としており、ここに属する「モノ」は盗まれたり勝手に使われたりしないように厳重に保管しなければなりません。
ハンコ
所持情報の中で最もしょうもない認証がこれです。(個人の感想)
ハンコの印影をもってして、「このハンコは本人しか持ってないものだ」という理屈で認証します。
いまどき三文判やシャチハタ以外のハンコを持っている人がどれだけいるんでしょうかね。
そして、いざコピーしようと思えば、たとえオリジナルの印影でも印影からハンコを逆生成できるんじゃないですかね。
21世紀にもなって未だに当たり前の顔をしてハンコによる認証がまかり通っている日本ってすごいなぁ、って思います。
カード(ICカード)
所持情報としては最もオーソドックスで分かりやすい認証ですね。
「このカードを持っているのは本人だけだ」という理屈で認証します。
ICチップを埋め込んでいるものは安全性が高く、まさかハンコほどは簡単にコピーできないのが魅力ですね。
- SUICA等の交通系ICカード
- クレジットカード
- 銀行のキャッシュカード
- ビルの入館管理カード
- さまざまな店のポイントカード
などなど、幅広く用いられています。
スマートフォン
スマートフォンが認証になる、と言ってピンと来ない人もいるかもしれないですね。
でも「お財布ケータイ」や「Apple Pay」など、あなたのスマホそのものが認証情報になるものは既にたくさんあります。
スマートフォンには様々な識別情報が入っていて、それぞれのスマートフォンを区別できます。
これをもって、「このスマホを持っているのは本人だけだ」という理屈で認証できるんですね。
そして今、「スマホをお店のレジにかざすとお金が支払える」という以外に、「スマホからWebページにアクセスすれば自動でログインできる」というタイプの認証が広まりつつあります。
つまり、既存のパスワード認証のWebページを置き換える用途で「スマホを持つこと」が認証に使えるようになるんですね。便利ィ。
ワンタイムパスワードのトークン
まずワンタイムパスワードの説明をしないといけないですね。
これは「一回きり使い捨てのパスワード」を使うことで、パスワード漏洩の危険をなくしたセキュリティ技術の一つです。
では、「一回きり使い捨てのパスワード」をどこから手に入れるのか、というところで、この「トークン」というのが出てきます。
トークンにはハードウェアトークンとソフトウェアトークンの二種類があり、ソフトウェアトークンは(多くの場合)スマホアプリです。
ハードウェアトークンは数桁の数字が表示されるちっさい電卓みたいなヤツが多いです。
で、やはりこの「トークン」を所持しているのは本人だけだ、ということで認証に使えるんですね。
これは単体で認証を通すというより、そのうち説明する「多段階認証」の一つとして使われる事が多いですね。
本人のバイオメトリクス情報に基づくもの
バイオメトリクス情報。まぁとにかく「あなたの体を見てあなたを判断しますよ」というものです。
おそらく前提としては「認証のためのセンサーにかざすのだから、認証の意思があるのだ」ということだと思うんですが、実際に本人が明確な意思のもとで認証を通しているのかは若干疑問ですよね。
「生体情報をどうやってデータ化しているのか」というのに興味がある人もいるかと思いますが、今回はその点省略です。
指紋
もっともメジャーな生体認証ですね。指紋認証。
指紋の一致を見て本人確認します。
指紋は指先のケガなどで一時的に使えなくなるケースもあるので、重要な認証に用いるには若干不向きでもあります。
静脈
ちょっと進んで静脈認証。静脈パターンで認証します。
生体認証には「生きた人間であるか」という確認も大事で、静脈認証はその確認が取りやすいんでしょう。
場所としては指先や手のひらを用いるものが多いんですかね。
顔認証
顔のパーツを見て総合的に判断する。iPhoneのFace IDがコレですね。
具体的にFace IDの話をしますが、これは単にカメラで顔を撮影しているだけでなく、赤外線カメラ・投光イルミネーター・ドットプロジェクタの3つ(これを総称してTrueDepthカメラと言います)を利用して顔を立体的に評価し、さらに本人がカメラを直視していることを確認した上で認証を通すという仕組みです。
Appleはここまでしてようやく「指紋認証より優れている」としました。
正直言って「顔認証」という言葉はセキュリティ業界的にはあまり馴染みがなく、馴染みがないということは標準規格がないということです。
弱小スマートフォンメーカーが適当に作った顔認証は、ちょっと認証精度に不安が残るところです。
虹彩
昔から話を聞くわりになかなか実物を見ないのが虹彩認証ですね。
Galaxy S9など、一部に実例はあるようですが、やはりセンサーと目が遠いと精度が良くないとか、いろいろ問題があるようです。
声紋
本当に認証として用いられている例があるのか微妙ですが声紋。
声で人を識別する、というだけであれば一部のスマートスピーカーには実装されていますね。
ただしこれを認証として用いる場合、「生きた人間がその場で発した声か」という判定が不可欠であり、ここをきちんとクリアするのは相当難しいんではないでしょうか。
まとめ
まぁ色々と紹介してきましたが、これからの主流はスマートフォン等のデバイスによる所持認証や指紋・顔などの生体認証ですね。
これらを複合して用いる「多段階認証」「多要素認証」については今後ご紹介できるといいですね。