多要素認証って何?
認証ってなに
まず、認証とは、本人確認です。
あるサイトにログインする状況を考えます。
これはある家に鍵を使って入ることと同じようなものです。
サイト(家)にパスワード(鍵)でログインする(入る)と考えられます。
まず、その人が本人なのか確認します。
サイトでは、ユーザー名やメールアドレスなどで確認します。
家では、本人である人が来ることで確認できます。
ですがこれだけでは、なりすましができてしまいます。
そこで、本当に本人かどうか確認するための質問である、パスワードを尋ねます。
サイトでは、ユーザー名=〇〇という人が来たので、パスワードを質問したら☆☆と答えて、ここの本当の利用者が言っていたこと同じだったので通した(ログインを許可した)となる。
家の場合、本人が、本人しか持っていないであろう鍵を持ってきて、鍵穴の形とぴったりだったので、入れた。
と、いう感じです。
認証の種類
認証には、上であげた、パスワードと物理的な鍵、以外にもあります。
①パスワードやPIN、秘密の質問のような、知識認証。
②顔認証や指紋認証、静脈や筆跡などの、生体認証。
③カードや鍵、ID(身分証明)のような、所有物認証。
があります。
また、これらを組み合わせることで、より安全に使えます。
例えば、クレジットカードの暗証番号は、カードを持っているという所有物認証に加えて、暗証番号を知っているという知識認証が組み合わせてあります。このような、違う認証法を組み合わせることを2要素認証と呼びます。
一つのパスワード(ex.ログイン用など)と別なもう一つのパスワード(ex.重要な設定用の暗証番号)を尋ねるような、同じ認証法を組み合わせることは、2段階認証と言います。
パスワードだけでは危険なわけ
ここまで、記事の中で、これで十分安全では?と思った方もおられるはずです。
しかし、家の鍵を盗まれるのと同じで、パスワードも盗まれてしまいます。
家の場合はその場所に来なければ開けることができません。でも、サイトは世界に入り口が向いています。世界中からそのサイトに来ることができます。自宅の玄関前まで多くの人が誰でも来れてしまうような状態です。
そこで、2要素認証のなかでおすすめなOTP(ワンタイムパスワード)というものがあります。使い捨ての一度きりのパスワードです。覚えておく必要がなく、このパスワード自体を無くしたり盗まれる心配がありません。
これは、ユーザ名で本人であると宣言し、パスワードで本人か確認します。ここまでは同じです。
その後、利用者の持っている携帯電話に6桁程度の番号を表示させます。これは、所有物認証となります。この6桁の番号を入力して初めて本人確認が完了するというものです。
本人が、本人しか知らない情報を知っていて、本人しか持っていないものを持っているという状態でないと許可されないという状態になります。
6桁程度の番号には、ログインしようとした時にメールやSMS(ショートメール)で届くものや、専用のアプリで時間をもとにして生成される番号を見るもの、専用の物理デバイス(ハードウェアトークン)で表示されたりと様々あります。
多要素認証の設定方法
アカウント管理ページの「パスワード」や「セキュリティ」の項目の中に「2段階認証を有効にする」や「2ファクタ認証を設定する」という項目があることが多いです。そこで設定できます。
AppleIDでは、2ファクタ認証と呼び、iPhoneなどにポップアップで表示されるものを設定できます。一部の機能を使うにはこの設定が必須になっており、使っている方も多いと思います。
iPhone、iPad、iPod touch で 2 ファクタ認証を有効にする
「設定」>「[ユーザ名]」>「パスワードとセキュリティ」の順に選択します。
「 2 ファクタ認証を有効にする」をタップします。
https://support.apple.com/ja-jp/HT204915 より
Googleでは、電話番号を追加することで使用できるようになります。
Googleの公式サイトにも詳しく載っています。
https://www.google.com/landing/2step/?hl=ja
コード生成アプリって何?
OTP(ワンタイムパスワード)を作るために使う専用のアプリのことです。
有名なものでは、Google Authenticator や Microsoft Authenticator 、 Authy などのアプリがあります。
生成アプリを使うことで、端末がオフラインでも別な端末でログインできます。端末の時間情報をもとに作られたコードと、認証用のサーバ上の時間情報をもとに作られたコードが同じ時刻なら同じものであることで認証しています。
端末を無くしたらログインできなくなります。その端末を使ってのログインはできてしまいますから、端末自体のセキュリティをしっかりしていないと落とした時に使われてしまうことになり注意が必要です。端末にパスコードをかけることや、生体認証を使うなどの対策をしておきましょう。
あくまでも、全くの知らない人が別な端末で、本人が知らない環境でログインするのを防ぐためのものです。
パスワードを使い回しせず、この端末さえ落とさず無くさず守っていれば、他のアカウントがより守られるようになります。
普段使いでの手間
安全になるけど、手順増えてめんどくさい。。。
iPhoneでは、SMSで届いたOTP(ワンタイムパスワード)を自動で入力してくれる機能があります。これを使うことで、自分の端末では、簡単にログインできます。当然、別な端末には自動入力されませんので、自分の端末では、特に不便はありません。
コード生成アプリを使うアカウントでは、ログインのたびにアプリを開かなければいけませんが、タップするだけでコピーでき、ペーストして入力できるので、そんなに手間ではないと思います。
また、今秋にリリース予定の、iOS15では、この生成アプリを使って入力していた確認コードをも自動入力できるようになるそうです。
認証コード機能の内蔵
サインインのセキュリティを強化するために必要な認証コードを生成できます。2ファクタ認証を求めるウェブサイトを利用する場合、設定の「パスワード」セクションで認証コードを設定できるので、ほかのアプリをダウンロードする必要はありません。設定を完了すると、そのウェブサイトにサインインする時は認証コードが自動で入力されます。
https://www.apple.com/jp/ios/ios-15-preview/features/ より
2段階認証が当たり前になってほしいと思っています。。。
この設定をしたからといって、アカウントが完全に安全になるわけではありません。パスワードの管理や、不審なメールを開かないなど、他の対策と組み合わせて、より安全に使っていくというものです。
自分の情報は自分で守りましょう!