HPE IceWall - 認証・シングルサインオン用語集
認証・シングルサインオンに関する用語を解説します。
IceWallは日本ヒューレット・パッカードが国内で開発した認証ソフトウェアです。1997年の発売以来、Webシングルサインオン製品としてミッションクリティカル用途を含む多数システムへの導入実績を持ち、国内の認証技術を牽引しています。
認証・認可・シングルサインオンについては多数の専門用語が存在しますが、これらを正確に理解いただくことは、より実用的かつ強固な認証セキュリティを実現していただくことに繋がります。
ITセキュリティにおいては、外部からの攻撃や内部の犯行など、認証技術で防御できるものが多くあります。本ページでご紹介する用語を通し、要素技術を理解の上ご活用いただければ幸甚です。
認証全般の用語
-
認証
アクセスしてきたユーザーが正規のユーザーであることをシステム的に確認すること。一般的に「ログイン」のこと。パスワードや電子証明書などの主体認証や、それらを組み合わせた多要素認証を用いた手法が使用される。システムの認証にどの手法を用いるかは、セキュリティー強度と、利便性・運用コストはトレードオフの関係にあるので、システムの重要度・機密度に照らし合わせて選定される。
英語ではAuthenticationと言い、略称はAuthNまたはAuthn。
-
認可(アクセス制御)
ユーザーがシステム内のどの情報にアクセス許可を与えるかを決定すること。アクセス制御とも呼ばれる。
単独の業務システムにおいては、ユーザーが登録されていることがすなわち認可されることとなり、これは固定的なアクセス制御と言える。SSOシステムにおいては、より柔軟なアクセス制御方式として、ルールベースのアクセス制御と、ロールベースのアクセス制御が用いられる。
英語ではAuthorizationと言い、略称はAuthZ。 -
ルールベースのアクセス制御
特定の業務(URL)へのアクセス権をユーザー属性の条件式で定義してアクセス制御する方式。各ユーザーの属性が変更されると自動的にアクセス権が変わるため運用の負荷が少ない。
属性ベースのアクセス制御(ABAC、Attribute-Based Access Control)とも呼ばれる。
条件式としてユーザー属性のほか、アクセス元(IPアドレス)や環境変数(ブラウザ種別等)など多様な要素(コンテキスト)を使えるものは「ポリシーベース」と呼ばれることもある。 -
ロールベースのアクセス制御
特定の業務(URL)にアクセス権があるグループをロールとして定義して、各ユーザーをロールにひもつけてアクセス制御をする方式。部署異動で新たなロールをマッピングし直す必要があるため運用の負荷が大きい。
英語略称でRABAC(Role-Based Access Control)とも呼ばれる。
シングルサインオン(SSO)の用語
-
シングルサインオン(SSO)
ユーザーが最初に1度だけ認証を済ませれば、複数のアプリケーションを再度認証することなしに利用できる仕組み。
企業内の複数のシステムだけではなく、クラウドサービスなど異種のシステムとの間のシングルサインオンを可能にする製品も存在する。
英語略称でSSO(Single Sign-On)と呼ばれる。 -
セッション管理
ユーザーがログインしてからログアウトするまでの認証状態を維持するための仕組み。
Webブラウザーを用いたアクセスの場合、ログイン時にランダムで一意な値(セッションID)をユーザーに付与し、ブラウザーのCookieに設定する。ログイン以降のアクセスの際は提示されたCookieを検証することによって、ログイン済のユーザーからのアクセスであることが識別される。 -
リバースプロキシ方式
ユーザーと業務システムの間に「リバースプロキシサーバー」と呼ばれるサーバーを配置し、ユーザーからのリクエストを業務システムが稼働しているサーバーへ中継するシングルサインオンの方式。
リバースプロキシサーバーはユーザーIDやパスワード、アクセス権限などの情報管理を担う「認証サーバー」に対して、現在ユーザーが認証済みか、リクエスト先のシステムへのアクセスを認可するかを問い合わせ、その結果に従ってリクエストを中継または拒否する。
ユーザーは常にリバースプロキシサーバーにアクセスする形となるため、それぞれの業務システムに直接アクセスすることはなくなる。この特徴を利用して、業務システム自体をユーザーから直接アクセスできないようにネットワーク的に「隠蔽」することが可能になる。この業務システムの隠蔽は、システム運用のセキュリティー向上の点で非常に大きなメリットがある。 -
エージェント方式
(サーバーエージェント方式)業務システムが稼働しているサーバーにエージェントモジュールを組み込んでシングルサインオンを実現する方式。
ユーザーからアクセスがあると、業務システム毎に組み込んだエージェントモジュールが認証の処理を行う。この時、エージェントモジュールは、認証サーバーと連携して認証の・認可の判定を行う。
この方式のメリットは、ユーザーからのアクセスが各業務システムに分散されるため、ネットワーク負荷が集中することがない点。そのため、特に大きなアクセス負荷のかかるシステムがある場合に向いている。
SSO製品の選定の際に注意すべき点として、エージェントモジュールを組み込むために業務システムのプログラムを改修する必要があることや、エージェントモジュールとそれが動作するOSやWebサーバーのバージョンとの整合性を常に留意する必要があることが挙げられる。 -
クライアントエージェント方式
各ユーザーの端末にエージェントモジュールをインストールしてシングルサインオンを実現する方式。
個々の業務システムのログイン画面をエージェントモジュールが検知することにより、あらかじめ登録されたユーザーIDやパスワードなどを自動投入することで、ユーザーの手入力の負担を軽減し、見た目上のSSOを提供する。クライアントサーバ方式のデスクトップアプリケーションへの対応が可能である。
業務システムの改修が不要なことから一見すると導入は容易だが、各クライアントの環境の差異に大きく依存するため、運用負荷が高くなりがちである。認証情報がクライアントで管理される場合は、クライアントのセキュリティーの依存度も高くなる。
製品によっては「クライアントサイドSSO」や「エンタープライズSSO」と銘打っているものもある。
認証方式・多要素認証の用語
-
多要素認証(MFA) / 二要素認証(2FA)
認証を行うための方式は次の3つの方式に分類される。1.パスワードやPINなどの記憶(Something you know)による方式、2.セキュリティキーなどの所持(Something you have)による方式、3.生体情報などの本人特性(Something you are)による方式。この分類は、「認証要素」と呼ばれる。多要素認証は認証処理の際にこれらの認証要素の中から、複数の要素を使用して認証を行う方式。
多要素認証として、多くの場合は2つの要素を用いて認証を行うので、多要素認証の代わりに二要素認証と呼ばれることも多い。
英語略称はMFA(Multi Factor Authentication)および2FA(Two Factor Authentication)。 -
二段階認証
多要素認証において、1つの認証が成功した後に次の認証に進む方式。およびログイン時以降に、より重要な情報へのアクセスや重要な操作を行う際に、追加で認証処理を行うこと。
様々な方式の認証を柔軟に組み合わせることができるメリットがある。
ログイン時に多要素認証を行う場合、複数の認証要素の全ての提示を求めた上で全ての認証が成功するかどうかを判定する方式と比べると、1つ1つの認証に対して段階的にアタックされてしまう可能性がある。 -
二経路認証
ユーザーがシステムにアクセスしている通信回線とは別の通信経路・通信方式で認証する方式。SMS認証やスマホへのPUSH通知による認証等がある。
-
パスワード認証
ユーザーを特定するID情報とともに本人だけが知っている文字列(パスワード)をユーザー自身が入力し、あらかじめシステムに登録された文字列と照合することで、正規のユーザーであることを確認する認証方式。
【パスワード認証の利点】- ユーザーに特別な知識が必要なく費用対効果が高い。
- 文字列を入力するだけなので特別な機器やソフトウェアが必要ない。
- パスワードの文字列はユーザーの意思で決めることができるため、変更や再登録も容易にできる。
- 複雑な処理を必要とせずに認証処理が可能。
- 文字列の長さや使える文字の種類を増やすことで、認証の強度を容易に高めることができる。
【パスワード認証の欠点】- 忘れてしまったり間違えてしまったりする。パスワードリセットの運用負荷はシステム管理者にとって重荷となっている。
- 何らかの理由で他人に知られてしまうと、簡単になりすましができてしまう。
- 本人の名前そのものや辞書に載っているような推測しやすい単語の組み合わせでは、それらの組み合わせを照合するコンピュータープログラムによって驚くほど短時間で見破られてしまう。ランダムな文字列であっても6文字程度であれば、すべてアルファベット小文字だった場合の組み合わせは26の6乗で約3億通り。現在のPC程度の能力でも「総当たり攻撃」と呼ばれる手法によって数秒で解読できてしまう。
- 複雑すぎるパスワードは記憶が難しく、さらにシステムごとに別々のパスワードが求められる場合はさらに難しさが増す。このため複数のシステム間でのパスワードの使い回しを助長しやすい。
-
パスワードレス認証
パスワードを使用しない認証方式。パスワードを使用することに伴う様々なリスクや問題を回避するためにパスワードレス認証が注目されている。パスワードレス認証は多要素認証に限定されず、ユーザーの利便性向上、パスワード運用負荷の軽減、認証セキュリティー向上に寄与する。方式としてFIDO認証や生体認証がある。
-
生体認証
指紋、指静脈、虹彩、声帯、顔などの生体情報を用いる認証方式。
パスワード認証など記憶認証に比べてなりすましのリスクが低い。OTPなどの所持認証に比べてセキュリトークンの紛失や忘れ物で認証ができなくなることもない。その反面、高度な技術で指紋などの複製を作成されてしまった場合に認証情報の変更ができないデメリットや、生体情報の提示によるプライバシーの問題が心配されるケースがある。
-
統合Windows認証
Windows Active Directoryドメインにログオンしたユーザーに対してSSOシステムへのログイン操作を不要とする認証方式。
Active Directory環境では、ユーザーが一度PCにログオンすれば、統合Windows認証の仕組みによって同じドメインまたはフォレストに所属するWindowsサーバーへ再度ログインすることなしでアクセスすることができる。
SSOシステムが統合Windows認証と連携すると、LinuxサーバーなどWindowsサーバー以外で構成された業務システムにも再度ログイン操作することなしでアクセスすることができる。 -
ワンタイムパスワード認証(OTP認証)
ユーザーが所持するハードウェアまたはソフトウェアで生成したワンタイムパスワードをログイン画面に入力して、サーバー側で生成したワンタイムパスワードと照合することで正規のユーザーであることを確認する認証方式。
パスワード認証に比べて、OTP認証で使用する文字列は毎回変化するため、漏洩のリスクを払拭することができる。
-
ワンタイムパスワード(OTP)
OTP(One-Time Password)。
ワンタイムパスワードは、一度限り使用できる使い捨てのパスワードのこと。端末とサーバーの間で取り決めたロジックに従って、認証に使用するパスワードを認証のたびに生成する。毎回異なるパスワードが生成されるため、万が一他人に知られたとしても、別のタイミングでそのパスワードを使ったなりすましを行うことはできない。 -
OTPトークン
ユーザーが使用する、ワンタイムパスワード(OTP)を生成するためのハードウェア装置やソフトウェア。
-
OATH
標準化団体OATH(initiative for Open Authentication)、およびOATHが定めたOTPのオープンな標準規格。
認証に関するコラボレーションを推進する組織。
OATHに準拠したトークンは、オープンで標準的な仕組みで作られており、特定ベンダーの仕様に縛られることがないため、比較的安価に利用できる。(ソフトウェアトークンの場合は、多くの場合は無料で利用できる) -
シード
ワンタイムパスワードを生成する元になるランダムな文字列(鍵情報)。サーバーとOTPトークンの両者で同じシードを保持することでOTP認証を行う。シークレットとも呼ばれる。
ハードウェアOTPトークンではシードはトークンに製造時に書き込まれており、そのシードをサーバー側に登録する。ソフトウェアOTPトークンの場合は、サーバーで生成したシードをクライアントに読み込ませる方式と、クライアントで生成したシードをサーバーに登録する2つの方式がある。 -
otpauth URI
URI形式で記載したシード情報。サーバーで生成したシードをソフトウェアトークンに読み込ませるための汎用的な書式。
一般的なソフトウェアOTPトークンではシードの文字列を手で入力するか、QRコードを読み込んでシード情報をセットする。otpauth URIで記載されたシード情報のQRコードであれば、ベンダーによらずどのソフトウェアOTPトークンでも読み込むことができる。
-
メールOTP認証
サーバー側で生成したワンタイムパスワードを登録済みのメールアドレスに送付して、ユーザーがそのワンタイムパスワードをログイン画面に入力することで正規のユーザーであることを確認する認証方式。
電子メールの送受信の仕組みがあれば、OTPトークン等を準備せずとも実現できるメリットがある。
メールOTP認証で送付されるワンタイムパスワードを「認証コード」と呼ぶこともある。 -
SMS認証
サーバー側で生成したワンタイムパスワードを登録済みの携帯電話やスマホにショートメッセージで送付して、ユーザーがそのワンタイムパスワードをログイン画面に入力することで正規のユーザーであることを確認する認証方式。
事前に特定した携帯電話を使用することから、メールOTP認証に比べてセキュリティー強度が高まると言われている、一方認証のたびに通信費が必要となる。
SMS認証で送付されるワンタイムパスワードを「認証コード」と呼ぶこともある。 -
FIDO認証
FIDO Allianceおよび W3C WebAuthn仕様にもとづく認証方式。公開鍵暗号を使用して認証を行うので認証強度が高い。
デバイス内で公開鍵と秘密鍵のキーペアを生成し、秘密鍵をデバイス内に保存し、公開鍵をサーバーに送信して登録する。認証時にはサーバーがデバイスにチャレンジを送信して、デバイスが秘密鍵で署名したチャレンジを含むレスポンスをサーバーに返す。サーバーはデバイスから受信したレスポンスを公開鍵で検証して正規のユーザーであることを確認する。 -
FIDO/FIDO2
FIDO(Fast IDentity Online)。
業界団体"FIDO Alliance"が策定した生体認証などを利用したパスワードに替わる新しいオンライン認証の標準仕様。
FIDO 1.1規格は、パスワードレス認証のためのUAF(Universal Authentication Framework)と、多要素認証のためのU2F(Universal Second Factor)の2つの方式を定めている。
FIDO 2.0規格(FIDO2)はサーバーとブラウザーの間のやり取りを定めたWebAuthnと、ブラウザーとデバイス(認証器)の間のやり取りを定めたCTAP(Client-to-Authenticator Protocol)の2つの標準規格からなる。FIDO 1.1のUAFはCTAP1と改称されFIDO2の中でも活用可能となっている。 -
WebAuthn
WebAuthn (Web Authentication)。
W3Cが策定したWeb認証の仕様。FIDO認証の仕様のうち、ブラウザーのJavaScriptからアクセスするAPIおよびFIDO Authenticatorのインタフェースおよび動作について規定する。 -
FIDOセキュリティキー
FIDO AllianceのCTAP(Client To Authenticator Protocol)仕様に準拠したハードウェアのトークン。PCやスマホとUSB・Bluetooth・NFCで接続して使用する。デバイス内に保存した秘密鍵をPINや指紋認証で保護するタイプの製品もある。
FIDOのレベルによって、U2Fセキュリティキー、FIDO2セキュリティキーがある。 -
FIDOプラットフォーム認証器
FIDO認証器の機能を、外付けのセキュリティキーではなく、Windows 10のWindows Hello APIやAndroid OSの中で実装したもの。
FIDOセキュリティキーを準備する必要がなく、OS機能とブラウザー(Windows 10 2004ではEdge、Chrome、Firefox、AndroidではChrome)だけでFIDO認証を利用することができる。 -
クライアント証明書認証
サーバーあるいは外部認証局で発行したクライアント証明書という電子証明書を事前にクライアントに登録し、アクセス時にそれを検証して正規のユーザーであることを確認する認証方式。。
標準的なブラウザーやWebサーバーソフトウェアのSSL/TLS通信に組み込まれた仕組みのため汎用的に使える。
公開鍵暗号を使った方式でなりすましに強く、認証強度が高い認証方式として認知されている。
ただし、証明書の発行や更新といった運用の負荷が高い。また、外部のCA(認証局)が発行した証明書を使用する場合には利用コストが高くなりがちである。 -
マトリクス認証
乱数表から、ユーザーが記憶しているパターン(例えば一筆書き)に沿って抜き出した数字をワンタイムパスワードとする認証方式。
ユーザーは、マス目の表(乱数表)の「位置と順番(シークレットパターン)」を記憶し、それに沿って抜き出した数字をパスワードとして入力する。- 乱数表の数字は毎回変わるため、パスワードは一度限り有効(ワンタイムパスワード)。
- トークンの購入・配布や鍵登録などが不要で、より低コストでの導入・運用が可能。
- Webブラウザーだけで利用でき、デバイス依存がない。
フェデレーション・認証連携の用語
-
フェデレーション
サイト間で認証連携をする仕組み。
正規のユーザーであることを確認するサイト(IdPやOPと呼ばれる)と業務サービスを提供するサイト(SPやRPと呼ばれる)の2つの役割がある。 -
SAML
SAML(Security Assertion Markup Language)。標準化団体のOASISによって策定されたフェデレーションの標準仕様。B2BのSaaSではデファクトスタンダード。
SAML仕様では、正規のユーザーであることを確認するサイトをIdP(Identity Provider)と呼び、サービスを提供するサイトをSP(Service Provider)と呼ぶ。
IdPはアクセスしてきたユーザーが正規のユーザーであることを確認するとアサーションを発行し、秘密鍵で署名してSPに送信する。SPはIdPから受信したアサーションをIdPの公開鍵で検証することでIdPが連携したユーザーが正当とする。 -
WS-Federation
フェデレーションの標準仕様の1つ。現在ではMicrosoft社のサービス・製品以外での実装はほとんど見られない。
-
OpenID Connect
OpenID Connect(OIDC)。
OpenID Foundationが策定したフェデレーションの標準仕様。OAuthを拡張した仕様。
OIDC仕様はサイト間の認証連携の仕様だけでなく、ユーザーの同意に基づいてリソースへのアクセスを許可する認可の仕様も含む。
OpenID Connect仕様では、正規のユーザーであることを確認するサイトをOP(OpenID Provider)と呼び、サービスを提供するサイトをRP(Relaying Party)と呼ぶ。 -
ソーシャルログイン
SNSなどのソーシャルアカウントによりアプリケーションやWebサービスへのログインを実現する方式。フェデレーションの仕様としてはOIDC(OpenID Connect)またはOAuthが使われる。ユーザーは普段使用しているSNS等のアカウントでシステムにログインできるようになる。コンシューマー向けシステムにおいて、ユーザー登録の利便性が向上するとともに、パスワードなどの認証情報を新たに作成する必要をなくすことができる。