認証強度
認証とは、なりすましを防ぐために、他人を本人ではないと認識することです。それが正しくできる能力を認証強度といいます。認識強度を高めるために、後述のように多様なチェック方法があります。
チェックを厳しくすれば、認識強度は高くなります。反面、チェックを受ける作業の煩わしさが増しますし、「本人を本人ではない」と誤認識する確率が大きくなる欠点があります(注)。
それで、なりすましされることの被害と、利便性や費用とのバランスを考慮して認証強度を設定し、それに適した認証方法を採用する必要があります。
(注)FARとFRR
本来、認証には次の尺度があります。
FAR(False Acceptance、他人受入率)他人を本人だと誤認する確率
なりすましを防ぐには、FARを小さくする必要があります。
認識強度=(1-FAR)だといえます。
FRR(False Rejection Rate、本人拒否率)本人を他人だと誤認する確率
利便性や可用性を高めるには、FRRを小さくする必要があります。
FARとFRRには二律背反の関係があり、一方を小さくしようとすると他方が大きくなります。
パスワード強度
- PIN(Personal Identification Number)コード
- ATMなどで用いられている4桁のパスワードです。4個の数字ですから、1万回試みれば破られてします。
しかし、PINコードは単純ですから、補助的な目的での簡単な本人認証として使われています。ログインにPINコードを使う方法も広まっています。このときPINコードはパソコンに対応しており、サービスをインストールしたときにそのプロバイダに通知され、プロバイダ側のサーバに記録されます。アカウント+パスワードよりも単純ですが、アカウントやパスワードが伝送されないこと、自分のパソコン以外からは使えないことなど安全性が高まります。
- 推奨パスワード
- 多くのアプリケーションが、パスワードの設定条件として、
・英字(大・小文字)+数字+記号 が混在すること
・8文字以上であること
を推奨しています。文字種が大きいことから、ブルートフォース攻撃(力任せ)によるパスワード発見を困難にしています。
本人認証の3区分
本人であることを示す方法は、大きく3つに区分することができます。
- 知識情報:本人だけが知っているコト
いわゆるパスワードです。最も広く使われていますが漏洩の機会も多くあります。
あまり重要ではない用途では、パスワードを失念したとき、「母親の旧姓は?」とか「好きな食べ物は?」など本人以外では知らないような質問項目と答を登録しておき、正しく答えたら本人だと認めてパスワードの再受付をする仕組みもあります。
- 所持情報:本人だけが持っているモノ
IDカードなどです。紛失・盗難の危険性があります。
Suicaなどの少額電子マネーや店舗のポイントカードなど、被害が少ないものは利便性を重視して、カードだけで本人だと認めますが、キャッシュカードやクレジットカードでは、カードと暗証番号(コト)との組み合わせで不正防止を強化しています。後述のワンタイムパスワードもモノとコトの組み合わせです。
- 生体情報:本人の身体の一部
バイオメトリクス(生体)認証といいます。指紋、虹彩など本人の身体の特徴は、人により異なり、経年変化がほとんどどなく更新の必要がありません。最も確実な手段ですが、近年は写真技術の発展により、絶対とはいえなくなりました。
また、筆跡、筆圧などの本人のクセなども生体認証です。
(参照:「バイオメトリクス(生体)」)。
パスワードの発展
ワンタイムパスワード
1回しか有効でない使い捨てのパスワードのこと。アクセスのたびに異なるパスワードにすることにより、パスワードの漏洩、パソコンの紛失・盗難などに対処できます。特に、モバイル端末でのセキュリティ対策として利用されています。
その実現方法はまちまちですが、原理としては、利用者は、通常のパスワードを知っているとともに、ハードウェアトークン(セキュリティトークン)と呼ばれる文字列発生器を持っています。このトークンは毎度異なる文字列を発生します。
利用者は、通常のパスワード(コト)とトークン(モノ)の表示を組み合わせて新しいパスワードとします。サーバはそれを解釈して認証します。そのため、事前にサーバと利用者が共通の取決めをしておく必要があります。
- タイムスタンプ方式
トークンは時刻ごとに異なる文字列を発生します。その文字列と自分の固有のパスワードによりサーバにアクセスします。サーバは、どのトークンがどの時間にどの文字列を発生しているか同期していますので、トークンの所有者が正規の利用者であることを識別できます。
タイムスタンプ方式では時刻同期が必須になります。トークンの文字列を得てからアクセスするまでの時間が長いと正しく識別されません。
- チャレンジ・レスポンス方式
CHAP(Challenge Handshake Authentication Protocol)ともいいます。サーバにアクセスすると、サーバからチャレンジという毎回異なる文字列が送られます。利用者は、レスポンス生成器を持っており、それにパスワードとチャレンジ文字列を入力するとレスポンスという文字列が生成されます。そのレスポンス文字列でサーバにアクセスします。
この方式では、レスポンス生成器とサーバに、文字列発生の共通ルール(関数)が組み込まれている必要があります。
トークンを用いないワンタイムパスワード
サーバから毎回異なる選択肢を表示して、利用者しか知らない選択基準で正しいものを選択させる方法です。
- マトリクス認証
毎回異なる数字や文字がランダムに碁盤目状に並ぶ表を用います。「左上から○番目の位置をスタートにして△の順に○文字」という順序を覚えておき、その文字列をパスワードとします。
- ニーモニック認証
mnemonicとは「記憶を助ける」という意味で、視覚長期記憶型認証と訳されます。パスワードを文字列ではなく、数枚の写真などの組合せにします。事前に自分の思い出のある写真をいくつか登録しておき、パスワード入力時には、そのうちの数枚とそれに無関係な写真をランダムに表示して、登録した写真をクリックするという方式です。簡便ですが他人に知られることが少ないので注目されている方法です。
シングルサインオン(SSO)
利用者が一度認証を受けるだけで、許可されているすべての機能を利用できるようにする仕組みです。
多くの利用にパスワードが設定されるようになりました。例えば、インターネットを介してアプリケーションを使うには、端末起動、LAN接続、インターネット接続、アプリケーション起動、データベースへのアクセスなど、それぞれの操作にパスワード入力を求められることがあります。しかも、セキュリティを厳重にするため、あるいは、それぞれの機能の管理を容易にするために、機能ごとに異なるパスワードにしている場合もあります。
このように多数のパスワードが必要になると、記憶できなくなり、手帳にメモするなど、かえってパスワード漏えいの危険性が増大することがあります。
認証情報の管理を一元化することによって、1回の認証だけでこれら一連の操作でのパスワード入力を不要にしたのがシングルサインオンです。
逆に、シングルサイオンのパスワードが漏洩したときの被害が大きいので、より厳格な認証が必要になります。ワンタイムパスワードや2段階認証などと組み合わせるのが適切です。
シングルサインオンの方式
シングルサインオンを実現する代表的な方式を列挙します。
- クッキーによる方式
最初のアクセス時に何らかの方法で認証を行い、パスワードなどの認証情報をクッキーにしてクライアントに保管します。続くアクセスではそのクッキー情報で認証するので、パスワードを再入力する必要はありません。
- パスワード保存方式
あるサービスへのパスワードをパソコン内に保存しておき、再度そのサービスを使うときに自動的に保存したパスワードを使う方法です。Webブラウザやセキュリティ対策ソフトから「このパスワードを保存するか?」と聞いてくるのもこの方式の一つです。
- リバースプロキシサーバ方式
特定のサーバの代理として、そのサーバへの外部からのすべての接続を中継するサーバです。すべてのWebサーバへのアクセスを中継させ、アクセスしてきた利用者の認証情報をここに保管することにより、利用者への次回のパスワード要求を不要にします。
リバースプロキシサーバには、電文の暗号化やアクセス頻度の多いファイルを一時保管するなどの機能もあります。
- 信頼認証方式
認証局を使う方式です。例えばGoogle, Facebook, Twitterなどを介して他のサービスをアクセスするとき、再度パスワードを要求されないことがありますが、信頼認証方式が使われているからです。このときGoogleなどが認証局になっており、多くのサービスが、その認証局を信用して、その認証を得たアクセスを認可しているのです。
信頼認証方式を円滑に実現、運用するために標準化が進められています。
- LDAP(Lightweight Directory Access Protocol)
ネットワークを利用するユーザ名やマシン名などの様々な情報を管理するためのサービスをディレクトリサービスといいます。ユーザ名などのキーとなる値から様々な情報を検索することができます。LDAPはディレクトリサービスへとアクセスするためのプロトコルです。
- OpenID
信頼認証方式の分散認証システムです。上記の認証局を使うプロトコルだともいえます。
これに対応しているサービスサイトにはシングルサインオンが利用できます。これの特徴は「特定のサービスプロバイダのアカウントに依存していること、Webブラウザをベースとした認証システムであること」です。
- SAML(Security Assertion Markup Language)
XMLをベースにしたマークアップ言語で、主にシングルサインオンやID連携で利用されます。認証情報に加え,属性情報とアクセス制御情報を異なるドメインに伝達するためのWebサービスでのプロトコルです。
パスキー認証
パスキーとは、パスワードが不要な認証技術です。生体認証技術などの標準化を目指す米国の非営利団体であるFIDOアライアンスとWeb標準化団体のW3Cが共同で規格化しました。
(FIDO:Fast IDentity Online)
2023年には、dアカウントやGoogleアカウントがパスキーに対応し、その普及が注目されています。
FIDO2は、パスキーを構成する基本規格です。
初回のログイン時には、アカウントとサイトに紐づいた一意の公開鍵を生成してサーバに登録し、対となる秘密鍵をスマートフォンやパソコンなどのデバイスに保管します。次回ログイン時には、サーバからの認証要求に、デバイスから生体認証や認証器などで取り出した秘密鍵を使って署名をし、サーバ側が公開鍵で検証して認証します。
偽サイトでは認証機能がないのがないので、フィッシング攻撃に対して安全性が高まります。
また、従来のようにIDとパスワードを送る必要はなく、生体認証でも生成した署名だけで、指紋データなどを送る必要がありません。
秘密鍵をユーザのデバイス内でとどめるのは安全性が高まりますが、複数のデバイス利用、デバイスの機種変更には不便です。それを解消するために、秘密鍵とそのメタデータに相当する「FIDO認証資格情報(FIDOクレデンシャル)」をクラウド経由で同期し、複数のデバイスで利用できるようにする仕組みを採用しています。
このようにパスキーは利点が多いのですが、現在ではdocomoやGoogleなどと個別に設定する必要があり、その面ではID・パスワード認証に比べて不便です。
複数認証の種類
通常は本人認証を単独で使いますが、組み合わせて使うことにより、なりすましをしにくくすることができます。
異なる2つのパスワードとか指紋と虹彩(どちらも本人の身体の一部)などの組合せは2要素認証といいませんし、あまり使いません。何らかの事情で一方が漏洩したとき、他方も漏洩している機会が多いからです。
2要素認証
本人認証の3種類である「ユーザだけが知っていること」「ユーザだけが所有しているもの」「ユーザ自身の特性」のうち、2つの要素を組み合わせてユーザの身元を確認する仕組みのことです。
例えば、銀行のATMでは、暗証番号を「知っている」ことと、キャッシュカードを「所有している」ことで2要素認証を実現しています。ハードウェアトークンとパスワードを併用させるのも2要素認証です。
2段階認証
「ユーザだけが知っていること」「ユーザだけが所有しているもの」「ユーザ自身の特性」の一つを数回使う認証です。
例えばアプリケーションへのログインには、ユーザID(アカウント)とパスワードでするのが通常ですが、それに加えて、セキュリティコードなどによる確認を行うことで、より安全にログインするための仕組みです。
パスワードもセキュリティコードも「知っていること」ですから、2要素認証ではありません。
同様に、指紋と筆跡の組合せも「ユーザ自身の特性」ですから、2要素認証ではなく2段階認証です。
リスクベース認証
2段階認証の一つですが、常に2段階認証をするのではなく、普段とは異なる場所あるいは手段でのログインと判断した場合だけ、追加の本人認証を要求する方法です。
「母親の旧姓は?」などの秘密の質問の答えを求めるなどがよく用いられます。
- パスワードリマインダ
この「秘密の質問」などの手段は、利用者がパスワードなどの認証情報を忘れたときに救済する目的としても用いられます。それを「パスワードリマインダ」といいます。
パソコンの認証
本人の認証ではなく、アクセスできるパソコンを制限する方式です。例えば、パソコンのMACアドレスなど、パソコンを特定できる情報を相手側サーバに登録しておき、登録していないパソコンからのアクセスを遮断するなどです。しかし、パスワード管理というよりアクセス制御かもしれません。
- 電子証明書方式
- 利用者が認証局(CA)から発行された電子証明書を本人確認に用いる方式です。あらかじめ認証局から電子署名の電子証明書を取得しておき、その電子証明書をパソコンに保存しておきます。それにより、ログインをすると自動的に電子証明書の情報が相手側に提示され、本人確認が行われる仕組みです。
信頼性の高い本人確認ができることが利点です。企業でのオンラインバンキングでの利用が普及してきました。しかし、電子証明書がパソコンにあるので、そのパソコンでないと使えないし、パソコンが盗難にあうと簡単になりすましされる欠点があります。
- コールバック
- 会社のネットワークにダイアルアップで接続するとき、それでは接続しないで、サーバから登録された端末の電話番号にコールバックすることにより接続します。これにより、登録以外の場所からのなりすましを防止します。
入退室での本人認証
重要区画への入退出でも本人確認が重要で、上に列挙した本人確認が採用されています。
入退室での特徴として、2人が同時に入退室する「供連れ」が問題になります。その対処として、次のような手段があります。
- アンチパスバック方式
- 入室時にIDカードに入室履歴を書き込み、入室履歴のあるIDカードでないと退室できない仕組みです。供連れによる不正入室を防ぐ目的ですが、退出時も供連れで退室できてしまう欠点があります。
- インターロック(二重扉)
- 物理的な対策です。出入口のドアを二重にして、一方のドアが開いている間は、他方のドアが開かないようにする仕組みです。回転ドアによりに、2人が入れない狭いスペースにするとか、ドア間に監視カメラを設置して、複数人がいる場合は、どちらのドアも開かないようにします。