1.OTP(one time password)
1度だけ、あるいは短期間だけ利用できるパスワードを利用した認証
正しいIDとパスワードを入力した後、
事前に登録した電話番号のスマートフォンなどに対し、
ワンタイムパスワードを送信する
送信されたワンタイムパスワードも正しく入力すれば、
正当なユーザーであると判断する
メリット
毎回ランダムに生成され、時間が経過すると二度と使用できない
第三者に読み取られても、不正アクセスされる可能性が低い
毎回文字列が変化するという特性上
従業員全員分のID・パスワードを管理する手間が省ける
デメリット
不正アクセスを100%防ぐ力がない
端末がすでにマルウェアに感染している場合は情報を抜き取られる
パソコンやスマホ端末自体の乗っ取り被害に弱い
パスワードの送付先がバレていると読み取られる
ログイン情報そのものが流出すると防ぎきれない
2.Basic Auth(Basic Authentication)
HTTPのプロトコル上で
事前に設定したIDとパスワードを入力することで認証する
最も基本となる認証方式
認証に用いる情報を入手するだけで、かんたんに乗っ取ることが可能
簡易的な機能でしかないため、そのほかのセキュリティ対策が必要
デメリット
セキュリティレベルが低く、暗号化に非対応
リクエストごとに毎回認証を行うので煩わしい
3.Digest認証
IDやパスワードを入力してログインを行う認証方法
入力したIDやパスワードをハッシュ化した上でサーバー側に送信する
ベーシック認証にあったセキュリティレベルの脆弱性が改善される
ハッシュ化とは、入力した文字を別の値に変換した上で送信すること
一度変換した値は元の文字に復元できない
送信時に入力した文字をハッシュ化して別の値に変換すれば
第三者が入手できたとしても、アカウントが奪われることはない
メリット
ベーシック認証にあった脆弱性を改善し、セキュリティレベルが高い
デメリット
ユーザー側が誤って元のIDやパスワード情報を保管せず、
ハッシュ化した後の値の方を保管してしまっていた場合では
ハッシュ化した後の値は、元の文字に復元できないので
元のIDやパスワードを忘れてしまった場合には再設定が必要
4.Session-based認証
Webサイトは一人一人にセッションIDと呼ばれる番号を割り当てる
セッションIDによって一人ひとりの行動がすべて把握でき
Webサイトにいるときはずっと同じセッションIDを持ち続ける
Webサイトはを閲覧した履歴や情報をcookieに保存する
cookieを使ってセッションIDを保存しておけば、
ログイン時の認証を行うことなくスムーズに入ることが可能
メリット
ログインの度に認証を行う手間が省ける
サイト側のログイン後の処理も高速で行えるようになる
デメリット
cookieを用いていることで、第三者が勝手にユーザーの電子機器を
使った際には簡単に悪用ができてしまう
5.Token-based認証
cookieの代わりに、トークンを利用する方法
トークンとは使い捨てのパスワードで
30秒程度の短い時間しか使えないパスワードを発行し
時間内に入力することで、ログインを可能にする
トークンの種類
ハードウェアトークン
物理的な電子機器を用いたもの
USB型や、キーホルダー型、カード型がこれに該当する
ソフトウェアトークン
PCやスマホなどで使用することのできるトークンアプリ
アプリをインストールし、パスワードを発行し
短時間だけ使用できるパスワードを表示する
パスワードを入力することで認証がされる
メリット
高いレベルのセキュリティを保持できる
パスワードがその都度使い捨てになるため、
仮に第三者にパスワードを知られようと不正ログインを防止できる
ユーザーがパスワードを記憶している必要や、再設定をする必要がない
デメリット
PCやスマホがウイルスに感染している場合には
トークンで発行したパスワードをユーザーよりも早く使用できる
毎回使い捨てのパスワードを発行するのが手間になる
6.OAuth(Open Authorization)
ユーザー本人以外に権限管理機能を持たせる
自身の情報を扱う権利をサイト側に与える
ユーザー本人以外にアカウントの権限管理機能を持たせる
サービスやアプリ間の連携が可能となる
Xで投稿した写真をFB等に自動で投稿できるようになる等々
多岐に渡った使い方ができる
メリット
ユーザー登録の手間が省け、アプリ間の連携が可能になる
他者にアカウントの権限を与える際も、
ユーザー自身で行使する権限の範囲内や、
行使可能な期限を設定できるため、
セキュリティの安全性を維持できる
デメリット
他者に権限を与える際に、悪用される可能性がある
権限を与える際は注意事項をしっかりと確認する
7.OpenID(オープンID)
一つのIDとパスワードを使って複数のサービスやアプリが使える
OpenIDとOAuthとの違いは、
OpenIDは他者が利用できるのはログイン機能だけに限定されている
メリット
ユーザー登録の手間が省け利便性が向上する
デメリット
OAuthほどではないにしろ、
アカウントの権限を他者に与えるので情報漏洩に注意する
8.SSO(Single Sigh-On)
一つのIDとパスワードだけで複数のWebサービスやアプリの認証を行う
複数のIDやパスワードを作成する手間がなくなり、
認証情報を一元化できる
メリット
一つのアカウント情報だけで一元管理できる
デメリット
万が一パスワードが流出してしまった場合は被害が拡大する
SSO認証システムが停止してしまった場合には
関連するすべてのサービスやアプリにログインできなくなる
9.SAML(Security Assertion Markup Language)認証
XMLベースの標準規格(サムル)を用いた認証方式
SSO認証を実現させるための(SSO認証の一部)技術
一つのIDやパスワードで複数のサービスやアプリの認証を行うこが出来る
高いセキュリティレベルを持っている認証方法の一つ
アクセス要求をしてきたユーザーに対して、
なりすましを行っていないか登録しているユーザー情報と
一致するか確認をした上で認証を行う
メリット
一度認証を行うだけで複数のサービスやアプリの認証を行わなくて済む
利便性が非常に高くなる
デメリット
一度IDやパスワードが漏洩してしまうと被害が拡大する
10.Kerberos認証
ギリシャ神話の地獄の番犬(Greek:ケルベロス)に由来する
SSO認証を実現させるための(SSO認証の一部)技術
一つのIDやパスワードで複数のサービスやアプリの認証を行うこが出来る
特徴は、チケットと呼ばれる機能(有効期限付き鍵)がある
チケットには時刻同期の仕組みやタイムスタンプが記録されており
万が一第三者が盗み見を行っていたとしても、
有効期限内になりすましを行うのが難しい状態を作り出す
チケットを持っているユーザーだけが認証される仕組み
メリット
一元管理や、管理の手間が省ける
デメリット
万が一チケットを第三者に奪われた際には、被害が拡大する