会員サイト構築の記事

ARTICLE
会員サイト構築

認証方式とは?種類とメリット・デメリットについて詳しく解説

掲載日:2021年7月29日更新日:2024年2月21日

Webサイトを安全に運営していくうえで絶対に欠かせないものが認証方式です。しかし、今では認証方式にはいくつもの種類があります。この記事ではその認証方式の種類について詳しく解説します。ぜひ参考にしてみてください。

進化する認証方式

進化する認証方式

現在、サービスやコンテンツへログインするための認証方式は、IDとパスワードの組み合わせが主流となっています。しかし、実際はそれぞれに異なるパスワードを設定して管理することは難しく、結局パスワードを使い回ししてしまい、結果としてパスワードの漏洩が起きてしまう問題があります。そういった問題を解消するために、どういった対策があるのでしょうか。順番に解説していきましょう。

組み合わせて活用する認証

現在、情報の漏洩を防ぐために導入が推奨されているのが、多要素認証と呼ばれるものです。多要素認証とは、複数の認証を組み合わせて使用することで、サイバー攻撃などから身を守る対策の1つとなっています。認証方式は大きく分けて3種類あります。それらを組み合わせて使うことで、情報の漏洩を未然に防ぐようにしています。

知識認証

知識認証とは、IDとパスワードを組み合わせてログインする方法のことを指します。特定の情報を入力するだけでログインできるため、多くのサービスで使われている方法になります。秘密の質問を入力させるやり方も、この知識認証の一つになります。便利な反面、一方でその特定の情報さえ知っていれば誰でもログインできる仕様なため、セキュリティレベルは低くなってしまいます。

所有物認証

所有物認証とは、本人のみ持っている所有物を認証に使用する方法になります。ネットバンクなどで使用される乱数表がこれに該当します。ワンタイムパスワードなど、ほかの認証方法と併用することでセキュリティレベルを高められますが、デメリットは、本人がその所有物を紛失・破損してしまったり、盗難に遭ってしまった場合、ログインができなくなるといったことがあるでしょう。

生体認証

生体認証とは、ユーザーの身体的特徴を認証に使用する方法を指します。本人しか持っておらず、複製することも非常に困難な情報を認証に使用するため、セキュリティーレベルは最も高く安全な方法の1つといえるでしょう。具体的には、指紋、声紋、目の虹彩(こうさい)、網膜、顔、手のひらや指の静脈などを使用します。情報の秘匿性が高い企業などでは、生体認証を複数組み合わせて使用している企業もあります。

認証方法にはどんな種類があるのか

認証方法にはどんな種類があるのか

認証方法は大きく分けて3種類に分類されますが、現在まで開発された認証方法は実に多岐にわたります。順番に紹介していきますので、ぜひ参考にしてみてください。

ベーシック認証

ベーシック認証

ベーシック認証は、最も基本的な認証方法の一つです。知識認証の項でも説明した、事前に設定したIDとパスワードを入力することで認証する方法になります。

概要

ベーシック認証は、簡単に設定できる最も基本的な認証機能になります。認証に用いる情報を入手するだけで、かんたんに乗っ取ることが可能です。あくまでも簡易的な機能でしかないため、そのほかのセキュリティ対策を行う必要があるでしょう。

特徴

ベーシック認証は、多くのブラウザで対応しています。実装も容易であり、急場しのぎとして設定しやすいことがメリットといえます。反面、セキュリティレベルが最も低く、暗号化に非対応であること、リクエストごとに毎回認証を行わなければならないので煩わしい面がある点などがデメリットといえるでしょう。

Digest認証

Digest認証

ダイジェスト認証とは、基本的にベーシック認証と同じくIDやパスワードを入力してログインを行う認証方法です。ベーシック認証との違いは、入力したIDやパスワードをハッシュ化した上でサーバー側に送信することにあります。これにより、ベーシック認証にあったセキュリティレベルの脆弱性が改善されました。

概要

ダイジェスト認証で使われている技術にハッシュ化と呼ばれるものがあります。ハッシュ化とは、入力した文字を別の値に変換した上で送信することを指します。ハッシュ化の特徴は、一度変換した値は元の文字に復元できないことにあります。たとえば、第三者がユーザーとサーバー側とのやりとりを盗み見していたとします。その際、ユーザーが入力した文字をそのままサーバー側に送信してしまうと、第三者はその情報を入手して、そのままユーザーのアカウントを奪ってしまう危険性があります。それを防ぐ手段として、送信時に入力した文字をハッシュ化して別の値に変換してしまえば、それを第三者が入手できたとしても、アカウントが奪われてしまうことを防げます。

特徴

ダイジェスト認証のメリットは、ベーシック認証にあった脆弱性を改善し、セキュリティレベルを高めた点にあります。一方、デメリットとしては、ユーザー側が誤って元のIDやパスワード情報を保管せず、ハッシュ化した後の値の方を保管してしまっていた場合が挙げられます。ハッシュ化した後の値は、元の文字に復元できません。したがって、元のIDやパスワードを忘れてしまった場合、IDやパスワードの再設定をする必要があります。

セッションベース認証

セッションベース認証

セッションベース認証とは、セッションIDとcookieの機能を用いて行う認証方法の1つです。Webサイトは一度に多くの人が利用しています。なので、サイト側は各ユーザーがそれぞれどんなアクションをしたのかを識別するために、一人一人にセッションIDと呼ばれる番号を割り当てます。このセッションIDによって一人ひとりの行動がすべて把握できるようになり、そのWebサイトにいるときはずっと持っていることになります。一度Webサイトを出た後に改めて入りなおすときは、本来であれば再度新しいセッションIDを割り当てられることになるのですが、cookieの機能で以前のセッションIDを保存しておけば、ログイン時の認証を行うことなくスムーズに入ることが可能となるのです。

概要

Webサイトを利用する際、「続行するにはcookieを有効にしてください」といった表示が出たことはないでしょうか。cookieとは、Webサイトを閲覧したときの過去の行動履歴や保存された情報のことを指します。cookieを有効にすることによって、どのサイトにどれだけ訪問したのか、どんな情報を入力したのかなど多くの情報が保存されます。たとえば、SNSで一度入力したログイン時のIDやパスワード、ショッピングサイトでカゴに入れた商品の情報など、一度サイトやアプリを閉じても、再びサイトを訪問すれば以前の行動や入力した情報が保持されたままになっています。これにより、ストレスなくWeb閲覧が可能になるのです。

特徴

セッションベース認証のメリットは、ログインの度に認証を行う手間が省けることです。これによりサイト側のログイン後の処理も高速で行えるようになります。一方、デメリットとしては、cookieを用いていることで、第三者が勝手にユーザーのスマホやPCを使ってしまった際に、簡単に悪用ができてしまう危険性があることです。

トークンベース認証

トークンベース認証

トークンベース認証とは、先程のセッションベース認証に用いていたcookieの代わりに、トークンを利用する方法のことを指します。トークンとは、簡単に説明すると使い捨てのパスワードです。30秒程度の短い時間しか使えないパスワードを発行し、それを時間内に入力することで、ログインできるような認証になります。

概要

トークンには大きく分けて2種類のトークンがあります。ハードウェアトークンとソフトウェアトークンです。

ハードウェアトークンとは、物理的な電子機器を用いたものを指します。例えばUSB型や、キーホルダー型、カード型がこれに該当します。

ソフトウェアトークンとは、PCやスマホなどで使用することのできるトークンアプリなどを指します。トークンアプリをインストールし、パスワードを発行することによって、短時間だけ使用できるパスワードが表示されます。このパスワードを入力することによって、認証がされる仕組みになっています。

特徴

トークンベース認証のメリットは、高いレベルのセキュリティを保持できる点にあります。パスワードがその都度使い捨てになるため、仮に第三者にパスワードを知られようと高確率で情報漏洩や不正ログインを防止できます。また、こういった仕様からユーザーがパスワードを記憶している必要や、再設定をする必要がないのも利便性が高いといえるでしょう。一方でデメリットがあるとすれば、それはすでにPCやスマホがウイルスに感染していた場合です。第三者が画面をいつでも盗み見できるような状態だった場合、トークンで発行したパスワードをユーザーよりも早く使用されてしまう危険性があります。そうなると、アカウント情報が乗っ取られてしまうこともあり得るでしょう。また、毎回使い捨てのパスワードを発行する必要があるため、それが手間になってしまう煩雑さもあります。

ワンタイムパスワード

ワンタイムパスワード

ワンタイムパスワードは、使い捨てのパスワードを使ってログインを行う認証方法の一つです。ワンタイムパスワードを発行すると、メールアドレスや電話番号などにパスワードが送られ、それを入力すると、ログインできるようになります。現在ではネットバンキングや仮想通貨アプリなどで多く使用されています。多要素認証とも相性がよく、そのほかのサービスなどでも広く導入され始めています。ちなみに上述したトークンベース認証は、ワンタイムパスワードのうちの一つの認証方法を指します。

概要

ワンタイムパスワードは、大きく2つの認証方法があります。それは、タイムスタンプ認証とチャレンジ・レスポンス認証です。

タイムスタンプ認証は、認証する際の時刻をもとに使い捨てのパスワードを生成します。トークンアプリなどでそのパスワードを発行し、表示されたいくつかの数字を入力するとログインできるようになります。トークンベース認証はこのタイムスタンプ認証に該当します。

チャレンジ・レスポンス認証は、ランダムに生成された文字列に対し、あらかじめ用意された計算式に正解となる結果を入力することで、ログインできるようになる認証方法です。

特徴

ワンタイムパスワードは、トークンベース認証でも紹介したように高いセキュリティを保持できることが最大のメリットでしょう。多要素認証とも相性がよく、使い勝手のいい認証方法です。デメリットは、システムそのもの、またはトークンアプリ、トークン機器などが故障や何らかの理由で使用できなくなってしまった場合、認証そのものが行えなくなるので、その間、サイトそのものを使えなくなってしまう危険性があります。

OAuth(オーオース)、OpenID(オープンID)

OAuth(オーオース)、OpenID(オープンID)

OAuth(オーオース)とOpenID(オープンID)の二つに共通するのは、ユーザー本人以外に権限管理機能を持たせることにあります。自身の情報を扱う権利をサイト側に与えることにより、サービスの利便性を向上させます。

概要

OAuth(オーオース)は、ユーザー本人以外にアカウントの権限管理機能を持たせることにより、サービスやアプリ間の連携が可能となります。具体的には、Twitterで投稿した写真をFacebookやInstagramに自動で投稿できるようになります。また、スマホアプリのIFTTTなどもこの機能を活用しています。たとえば、あらかじめ設定しておいたキーワードを含んだ記事が投稿されたら、自動でEvernoteやpocketなどのアプリに保存しておけるようにするなど、多岐に渡った使い方ができるようになります。

OpenID(オープンID)は、一つのIDとパスワードを使って複数のサービスやアプリを使えるようになります。具体的にはYouTubeにログインする際に、わざわざYouTube専用のIDとパスワードを作らなくても、AppleIDやGoogleのアカウント情報だけでログインできるようになります。OpenID(オープンID)も、ユーザー本人以外にアカウントの権限管理機能を持たせていますが、OAuth(オーオース)との違いは、OpenID(オープンID)で他者が利用できるのはログイン機能だけに限定されたものであることです。

特徴

OAuth(オーオース)のメリットは、ユーザー登録の手間が省けたり、アプリ間の連携が可能になる点です。他者にアカウントの権限を与える際も、ユーザー自身で行使する権限の範囲内や、行使可能な期限を設定できるため、セキュリティの安全性を維持できます。一方デメリットは、他者に権限を与える際に、悪用される可能性がある点です。そうなるとアカウント情報を書き換えられる危険もあるため、権限を与える際は注意事項をしっかりと確認する必要があります。

OpenID(オープンID)のメリットは、ユーザー登録の手間が省け利便性が向上する点にあります。デメリットは、OAuth(オーオース)ほどではないにしろ、アカウントの権限を他者に与える以上、情報漏洩に気を付ける必要があります。

SSO(シングルサインオン)

SSO(シングルサインオン)

SSO(シングルサインオン)は、一つのIDとパスワードだけで複数のWebサービスやアプリの認証を行う方法です。今までは各Webサービスやアプリを利用するたびに、それぞれにIDやパスワードを作成する必要がありました。しかし、それだと管理しなければならないIDやパスワードが増え、無駄な労力や手間が増えてしまうケースが頻発していました。しかし、SSO(シングルサインオン)の認証方法を使えば、複数のIDやパスワードを作成する手間がなくなり、認証情報を一元化できるようになったのです。

概要

この記事で紹介しているSAML(サムル)認証やケルベロス認証は、SSO(シングルサインオン)の種類に含まれ、このシステムを構築する上で必要な技術の一つであるといえます。一つのIDとパスワードで複数のWebサービスやアプリの認証を行えることは変わりありませんが、それぞれ情報漏洩を防ぐためのセキュリティ内容に違いがあります。また、多要素認証で併用しやすいこともSSO(シングルサインオン)認証の特徴といえるでしょう。

特徴

SSO(シングルサインオン)認証に共通しているメリットは、一つのアカウント情報だけで一元管理できる点にあります。また、複数のIDやパスワードを作成する必要がなくなるため、管理の手間が減らせます。一方デメリットは、万が一パスワードが流出してしまった場合の被害が大きくなってしまう点にあります。ほかに、SSO(シングルサインオン)認証システムが停止してしまった場合、関連するすべてのサービスやアプリにログインできなくなるなどのリスクがあります。

シングルサインオンシステム(SSO)とは?導入メリット、手順や注意点を解説

SAML(サムル)認証

SAML

SAML(サムル)認証は、SSO(シングルサインオン)認証を実現させるための必要な技術の一つです。SSOの特徴である、一つのIDやパスワードで複数のサービスやアプリの認証を行うことのできる機能を持っています。

概要

SAML(サムル)認証は、高いセキュリティレベルを持っている認証方法の一つです。具体的には、アクセス要求をしてきたユーザーに対して、なりすましを行っていないか登録しているユーザー情報と一致するか確認をした上で認証を行うため、安全性が高い認証機能になります。

特徴

ほかのSSO(シングルサインオン)認証と同様に、一度認証を行うだけで複数のサービスやアプリの認証を行わなくて済むようになるので、利便性が非常に高いのがメリットになります。また、高いセキュリティレベルや管理の手間が減ることも利点になるでしょう。一方、デメリットも同様に、一度IDやパスワードが漏洩してしまうと大きな被害を被ってしまう危険性があります。

ケルベロス認証

ケルベロス認証

ケルベロス認証もまた、SAML(サムル)認証と同様にSSO(シングルサインオン)認証を実現させるための必要な技術の一つになります。SSOの特徴である、一つのIDやパスワードで複数のサービスやアプリの認証を行うことのできる機能を持っています。

概要

SAML(サムル)認証と同じくSSO(シングルサインオン)認証の一部であるケルベロス認証は、役割も非常に似ています。しかし、ケルベロス認証の大きな特徴は、チケットと呼ばれる機能があることです。チケットとは、かんたんに説明すると有効期限付きの鍵のことを指します。ケルベロス認証では、このチケットを持っているユーザーだけが認証される仕組みになっています。

具体的には、はじめにユーザーがIDとパスワードを入力すると「チケットを得るためのチケット」を入手できます。このチケットを入手している状態で数分以内に認証を行うことで、「ログインするためのチケット(鍵)」を入手できるようになります。この「ログインするためのチケット(鍵)」を持っている者だけが認証される仕組みになっています。

ちなみに、このチケットには時刻同期の仕組みやタイムスタンプが記録されています。なので、万が一第三者が盗み見を行っていたとしても、なりすましを行うのが難しく、これによりアカウント情報の漏洩を未然に防ぐような仕組みができています。

特徴

ケルベロス認証のメリットは、SAML(サムル)認証と同じく一元管理や、管理の手間が省けることにあります。デメリットも同様に、万が一チケットを第三者に奪われた際には、大きな被害を被る危険性があります。

申請や応募受付の電子化・システム化ならWebフォーム作成システム「SPIRAL®」

当社のご提供する 「Webフォーム作成システムSPIRAL®」は、かんたん操作で自由自在にフォーム作成が行える定額制のWebフォーム作成システムです。 申請や応募の受付だけでなく、その後のステータス管理や応募者用マイページ作成など、受付から管理までをWebシステム化することができます。

受付フォームは画像やPDFなどのアップロードにも対応。拡張子指定や容量制限、入力制限もできるので、自社の要件にあったフォームを構築することができます。また、デザインはテンプレートからの選択の他、HTML、CSS、JavaScriptを利用してカスタマイズも可能です。

申請者用・管理者様にそれぞれマイページを作成し、ステータス管理や申請内容の情報変更をWeb上で行うこともできます。

書類申請、出願・公募受付、補助金・助成金申請、契約加入・更新受付、キャンペーン受付、問い合わせ受付など様々な業界・用途・シーンで延べ11,000社以上のご利用実績がございます。

サービスの詳細については「Webフォーム作成システムSPIRAL®」のページをご覧いただくか、サービス導入をご検討中の方はこちらからぜひお問い合わせください。

まとめ

このように認証方法は非常に多くあり、多くの企業で目的ごとに使い分けて使用されています。今後も情報漏洩のリスクを減らしていくように気を付けていきましょう。