普段はわざわざ「自分」が何者なのかを特定する必要はないが、海外旅行では自分のことを証明する手立てが少なく、パスポートが大事な役割を果たしている。一方、サイバー空間を見渡してみれば「ID」「パスワード」こそ第一の身元認証であるが、ほかにはどういったものがあるだろうか。
この記事は、ESETが運営するマルウェアやセキュリティに関する情報サイト「Welivesecurity」の記事を基に、日本向けの解説を加えて編集したものである。
身元認証というものは非常に複雑な概念のように思えるかもしれない。しかしその実、とてもシンプルでもある。すなわち「自分が誰なのかを示す方法」のことだ。
オフラインの世界では、「自分がこの誰なのかを示す」ことは、とてもシンプルで普遍的だ。大半の国々は、世界中のどこへ行くのであれ、パスポートを持っていれば自分の身元を証明することができる。いわば、文書管理の手続きがしっかりと整備されているのである。
ところがコンピューターの世界では、どこに「行く」のであれ、自分の身元を示す単一の文書は存在しない。その結果、多くのWebサイトやサービスは、少し異なるやり方で身元証明を行っている。
過去のESETのブログ記事「アカウント管理のための4つのA」で述べられているように、承認と、アクセス制御、ログ監視と身元認証は、それぞれつながりがある。優れた身元認証システムを構築することは、アカウント管理のほかの3つの機能を運用する以前の、本質的な第一歩だ。
もし相手が誰なのか分からないのであれば、アクセスを求める際に示すリソースやサービスを知ることもできない。彼らのアイデンティティーについても同じである。
オンラインで自分の身元を証明する
自分が、誰かの身元についての主張を裏付けたいときには、当人について固有のものや不変なものを見つけ出さなければならない。そのためにできることは確かにある。映画やテレビ番組では、誰かの身元についての疑問があれば、いつもは次のように確かめる。
1)本人だけが知っている情報について尋ねる
2)本人だけが持っているはずの小物(か何か)を見せてもらう
3)本人に固有の特徴を見つけようとする
オンラインでユーザーの身元を証明するためにも、類似の方法が使える。これらの基本的な3つの方法は、併せて「認証要素」と呼ばれている。個別には、それぞれ以下のように理解されている。
- 知識因子――何を知っているのか
(理想的には)身元を証明しようとする本人と身元を検証しようとしている人物、あるいはその家族だけが把握している、身元を証明している情報のこと。 - 所有因子――何を持っているのか
これは、審査した人や組織から与えられたもので、身元を証明するもの。 - 遺伝因子あるいは存在因子――何からできあがっているのか
これらの因子はいずれも将来的にも不変なものである。
3つの認証因子
「知識因子」として使われるものが幾つかある。「パスワード」や「パスフレーズ」「パスコード」あるいは「PIN」(Personal Identification Number)などのことだ。Webサイトで、パスワードなどと共にログインのために「秘密の質問」を設定したことのある人々も多いだろう。これも知識因子である。
私たちのほとんどは、少なくとも1つの「所有因子」を財布の中に持っている。あるいは複数かもしれない。運転免許証や保険証、政府発行のID(マイナンバーカードや住基カード)は、そのようなアイテムの1つだ。支払いカードは別のもので、時には基本的な本人確認書類の役割も果たす。
財布の中のクレジットカードやデビットカードは、自身の債務を払えるというだけではない。銀行があなたの身元を証明しているということにもなるのだ。
しかし、IDカードや支払いカードは、唯一の所有因子ではない。あなたに固有に結びつけられるのであれば、何であれ役に立つ。例えばメールアドレス、モバイル機器、電話番号など。一時的なキーコードをWebサイトで生成して、SMS、ボイスコール、メールで送付して、ログイン認証情報に活用できる。
そして最後に「遺伝因子」がある。今日では多くの人々がスマートフォンやノートパソコンで使用している。最も広く知られている例では指紋スキャナーがその1つだ。あなたの指に固有のパターンを読み取って認証に使っている。そして、スマートフォンの一部には、すでに虹彩認証を使っているものもある。米入国管理局は、顔認識装置を写真IDの自動認証に活用しようとしている。
1つでは十分ではないときに
この点で、私たちの大半は、アカウントがたやすくハッキングされることを知っている。ユーザーネームとパスワードだけを使った認証は多くの人々の頭痛の種で、専門家たちはユーザーが直ちに、そして安全に認証を受ける新たなやり方を常に探している。そのため、2つ以上の要素をアカウント所有者の認証に使う傾向が広がっている。
2つの要素によるログインは、2要素認証や2ステップ認証と呼ばれる。略して「2FA」や「TFA」である。ログインプロセスで2要素認証が使えれば、意図的であれ事故であれ認証情報を漏えいしてしまっても、攻撃者が2つ目の因子を手に入れなければ、アカウントはまだ保護されたままである可能性が高い。
未来の認証のための要素
認証セキュリティを強化する別の方法は、新しい要素を見つけることだ。すでに私たちは自分たちが知らないうちに、使っているかもしれない幾つかの因子がある。
- 位置因子――どこにいるのか
- 挙動因子――何をしているのか
もしかするとこれらは、一見ばかげているかもしれない。なぜなら、人は移動するし、挙動は時間と共に変化するからだ。そして、「どのように固有なのか」と疑問を抱くかもしれない。だが、それは結局のところ非常に役立つもので、特に、ほかの要素と組み合わせて使うことができるという点が重要なのである。
「位置因子」の使い方は、多くの時間に、自分自身がどの場所にいたのか(家なのか職場なのか)、どこにある機械を使用したのかを確かめることができる。明らかに、いつも役立つわけではない。そのため、わずかに役立つにすぎない。もしも、よく知られたIPやMACアドレスを使っていれば、それらも2番目の認証要素として使える。しかし、自分がすでに知られている場所にいたり、既知の機器を使っていないのであれば、キーコードのような別の認証要素を使わざるを得ないだろう。
「挙動因子」については、指紋のように特定のユニークな行動を活用することだ。例えば、ネットサーフィンの習慣や声、口、タッチスクリーンの動き、手書き文字の筆跡などだ。スマートフォンの中にはすでに、これらを用いているものもある。もしも数字やジェスチャー認証を設定しているのであれば、パスコードのみを記憶しているのではなく、入力パターンやスワイプの動きをコードとして活用しているのだ。
次なる段階:制限を設ける
いったん個人の身元が認証されると、多くの管理者は、ユーザーに対して扉を開き、ネットワークへの自由なアクセスを許可する。
アカウント管理の中でも特に認証とアクセス制御については、また別の記事で説明したい。
これらのテクニックは、ユーザーに対して、必要とする適切な程度のリソースやサービスへの接続をさせる。それらの事柄へのアクセスをブロックすることで、突発的な被害を防ぐことができるだろう。