
IT化が進んだ現在、ECサイトでの買い物やバーコード決済等、数多くの便利なサービスが生まれました。多くの企業がweb系サービスを展開し、ユーザーはサイトやアプリケーションにアカウントを作成してログインをしています。
注意しなければいけないのが、不正アクセスによる不正利用や個人情報の流出を防ぐセキュリティ対策です。
PCの性能が格段に向上している現代では、アカウントに単純なパスワードを設定しただけでは簡単に突破されてしまいます。
たとえば、4桁のパスワードを設定した場合、4桁全ての組み合わせを繰り返しログインするブルートフォースアタック(総当たり攻撃)と呼ばれる手法なら、わずか10分程度で突破されてしまうのです。
もしも不正アクセスや情報流出が起きてしまえば、顧客からの信頼は大ダメージを受け、回復には多くの時間が必要になります。
そういった事態を防ぐためにも、セキュリティ対策として「二要素認証」「二段階認証」の導入は不可欠です。本記事では、この「二要素認証」「二段階認証」についてメリットや違い等を詳しく解説していきます。
認証のための要素
本章では、認証の定義とその要素について説明します。
認証とは
インターネットの世界では、全て通信でやり取りが行われるため、通信先にいる人が誰なのかを判断することはできません。
人と人とが直接対面で話す会話では、お互いの顔が見えているので本人かどうか判断することができます。しかし、インターネットでは不正アクセス者が利用していても、ログインしているアカウントに問題がなければやり取りが成立してしまうのです。
そこで、認証という方法で本人確認を行っています。IDやパスワード、指紋や網膜等の様々な情報で認証をして、利用者が本人かを確認しているのです。
認証の3要素
本人確認を行う認証には、3つの要素があります。セキュリティを考えるうえで、この3つの要素を正しく理解することが重要です。一つひとつ解説していきます。
知識要素
ユーザーが知っている内容、記憶している知識を利用して認証する要素が「知識要素(something you know)」です。一般的に利用されているパスワードの入力による認証も、この知識要素に含まれます。
また、出身校や両親の旧姓、飼っているペットの名前を「秘密の質問」として登録し、認証設定する方法も知識要素です。秘密の質問はパスワードと同じ知識要素なので、他の2つの要素と比べて導入しやすい方法になります。
しかしながら、パスワードを忘れないようにメモや付箋に記載しているずさんな管理をしていれば、メモや付箋が流出してしまった場合、一気に突破されてしまうことになります。
所有要素
ユーザーの所有物で認証する要素が「所有要素(something you have)」です。主にソフトウェアではなくハードウェアで認証することが所有要素となります。
スマートフォンなら、所有しているスマートフォン本体の情報を登録して、登録したスマートフォン以外からの利用を防ぐことで、セキュリティ強度を上げることができます。また、SMSを利用し、ワンタイムパスワードを送信することで認証を行う方法も所有要素となります。
この所有要素による認証方法なら、ユーザーのスマートフォン本体を入手しなければ不正利用ができないため、有効なセキュリティ対策となります。
生体要素
ユーザーの身体的特徴を利用して認証する要素が「生体要素(something you are)」です。別名バイオメトリクス認証とも呼ばれています。ユーザーの顔や指紋を認証してログインする方法が生体要素に該当します。
顔や指紋は不正アクセス者が認証することが非常に困難な要素であるため、安全性の高い認証方法となります。スペックが向上している現代のPCやスマートフォンには、当たり前のように搭載されている機能です。そのため、この生体要素による認証は急速に拡大しています。
二段階認証とは
二段階認証とは、名前の通り「二段階に分けて認証を行う」方法となります。二段階であるのなら要素を分ける必要はなく、「知識要素」を2つ組み合わせる運用も二段階認証となります。
たとえば、「パスワード」と「秘密の質問」の二つの知識要素を組み合わせた認証は二段階認証となります。この認証方法なら、もしもパスワードを突破されてしまった場合にも、秘密の質問を答えなければ不正アクセスをすることはできません。
また、パスワードのような英数字の組み合わせではない秘密の質問なら、序説で紹介したブルートフォースアタック(総当たり攻撃)のような強引な突破が非現実的となります。
認証を二段階にわけることで、単純なパスワード入力だけの認証と比べて、よりセキュリティ強度の高い対策ができるのです。
二要素認証とは
二要素認証とは、「異なる種類の要素を2つ組み合わせて行う」認証方法です。3つの認証要素の中で、異なる2種類を利用するのが二要素認証となります。
たとえば、パスワードを入力した後に指紋認証を行ってログインする場合、「知識要素」と「生体認証」の組み合わせとなり、二要素認証となります。異なる要素の認証となり、高い安全性が担保される認証方法となるのです。
1つの要素だけで設定された二段階認証では、メモや付箋に記載したパスワードと秘密の質問が流出してしまった場合、不正アクセスが可能となってしまいます。複数の異なる要素を設定する二要素認証なら、より安全性の高いセキュリティ対策となるのです。
二段階認証と二要素認証の違い
名前が似ている「二段階認証」と「二要素認証」ですが、大きな違いは、同じ要素を利用しているか、異なる要素を組み合わせているかという点です。
知識要素2つの認証方法なら「二段階認証」であり、知識要素と所有要素を組み合わせた認証なら「二要素認証」となります。二段階認証は要素の種類にかかわらず、二段階で認証を行っていれば該当するのです。
さらに、少しややこしくなりますが、二要素認証も二段階に分けて認証するため、必然的に二段階認証にも該当することになります。名前も似ているため、セキュリティを担当者の中にも混在してしまっている人が多くいます。
ですが、より安全なセキュリティ対策を設定するためにも、この2つの違いを正しく理解しておくことが大切です。
認証強度を強くするためには
セキュリティ面だけを考えれば、より多く複雑な要素を組み合わせた認証を設定することが良いでしょう。複数の段階を用意して、3つの要素を全て設定した認証であれば強度の高いセキュリティ対策となります。しかし、闇雲にどの認証にも複雑な設定をしてしまうと、ユーザーの利便性に悪影響が出てしまうのです。
そのため、サービスによって認証の強度を設定していく柔軟な対応が求められます。たとえば、職場でアカウントの認証を設定する場合、アカウントに付与されている権限にあわせて認証の強度を変えていくことが推奨されます。
設定を閲覧する権限だけを持つアカウントと、設定を変更する権限を持つアカウントがある場合、認証強度に差を作ることで利便性を損なわずに運用することができるのです。
安全性ばかりに目を向けるのではなく、どの程度のリスクを許容して利便性を確保していくかを考えるのも、認証設定には重要なことなのです。
セキュリティのガイドライン
では、セキュリティの基準については、どのように決めていけばよいのでしょうか。アメリカ国立標準技術研究所(NIST)から、米国の政府機関向けにガイドラインが公開されています。日本の事業者に対しては強制力はありませんが、方針として非常に重宝されており、様々な業界から参照されています。2017年公開の第三版「SP 800-63-3」が最新です。
- 英語の原典:「Electronic Authentication Guideline(NIST)」
- 日本語訳(リンク先PDF参照):「OIDF-J・JIPDEC共催OpenID BizDay#11「NIST SP 800-63-3を読む(OpenID ファウンデーション・ジャパン/一般財団法人日本情報経済社会推進協会(JIPDEC))」
「Electronic Authentication Guideline」の付属文書「Authentification and Lifecycle Management(認証とライフサイクル管理)」では、Authenticator (認証するもの・デバイス)について下記のように定義しています。
No. | タイプ | 例 | 認証要素 | 暗号プロトコル(鍵の所持証明)として認められるか | ハードウェアとして認められるか |
---|---|---|---|---|---|
1 | 記憶シークレット | パスワード、PIN | 知識 | No | No |
2 | ルックアップシークレット | 乱数表 | 所有 | No | No |
3 | 経路外デバイス | SMSによるコード送信、QRコード読み取り | 所有 | No | No |
4 | 単一要素OTPデバイス | パスフレーズ入力不要のOPTデバイス | 所有 | No | Yes/No |
5 | 多要素OTPデバイス | Touch IDやマスタパスワードでアクティベートし利用するOTPアプリ | 所有+知識/生体 | No | Yes/No |
6 | 単一要素暗号ソフトウェア | 端末ごとのクライアント証明書(パスワード保護なし) | 所有 | Yes | No |
7 | 単一要素暗号デバイス | FIDO U2FのUSBドングル | 所有 | Yes | Yes |
8 | 多要素暗号ソフトウェア | 指紋認証を行うことで有効化されるクライアント証明書 | 所有+知識/生体 | Yes | No |
9 | 多要素暗号デバイス | パスワードや生体認証でアクティベート必要なUSBトークン、FIDO対応スマホ、Touch ID,Face IDなど | 所有+知識/生体 | Yes | Yes |
*OTP:One-Time Password
*FIDO:Fast Identity Online
*U2F:Universal Second Factor
表の引用元:「NIST SP800-63-3翻訳版63-Bパートの紹介」
そして、上記の定義をもとに、認証要素の使用の組み合わせによって、認証強度を示しています。強度はAAL1, AAL2, AAL3の3つで、数が多いほど強度が高くなります。なお、同じ要素を複数使っても、1要素とカウントされます。
- AAL1…単要素認証(9タイプのうちどれでも可)
- AAL2…Authenticator単独で2要素。もしくはパスワード(知識要素)+2要素目(所有要素・生体要素)。
- AAL3…Authenticator2要素以上+暗号鍵の所持証明書要素+ハードウェア関与
また、経済産業省からも、サイバーセキュリティに関する政策が策定されています。経営者向けの注意喚起なども行われているため、こちらもチェックが必要です。
サイバーセキュリティ政策(経済産業省)
まとめ
現代では、IT企業でなくてもweb系のサービスを利用することが当たり前になってきました。今後もIT化が拡大し続ける中、セキュリティ対策について理解を深めることは、どの事業を運営していく上でも必要不可欠です。
お客様に安全なサービスを提供できるよう、セキュリティには常に注意を払っていきましょう。