情報セキュリティスペシャリスト
情報技術者試験まとめへ

認証(3)

シングルサインオン(SSO:Single Sign-On)

シングルサインオン

シングルサインオンとは

一つの認証情報(ID/パスワードなど)で、複数のシステムにログインできるようにすること

シングルサインオンの目的
シングルサインオンのデメリット

万が一、利用者IDとパスワードが流出したり破られたりしてしまうと、シングルサインオンできるすべてのアプリを簡単に不正利用されてしまうというリスクが伴う

シングルサインオンの2つの方式

クッキーを使ったシングルサインオン(エージェント型)

サーバごとの認証情報を含んだクッキーをサーバで作成し、各クライアント上で保存・管理する方式。
各Webサーバに"エージェント"と呼ばれる認証を代行するソフトをインストールしてシングルサインオンを実現する

仕組み

●最初のログイン時

  1. クライアントはWebサーバ(エージェント)にアクセス
  2. Webサーバはクライアントのユーザ情報をもとに認証サーバにアクセス
  3. 認証サーバはWebサーバに認証を許可する
  4. Webサーバはクライアントに権限情報等が書かれたCookieを返す
  5. クライアントはWebサーバにアクセス

●次から

  1. WebサーバではエージェントプログラムがCookieの内容を確認、アクセスの可否を判断
メリット
デメリット
制限事項
リバースプロキシを使ったシングルサインオン(リバースプロキシ型)

シングルサインオン用に別途リバースプロキシサーバを立て、このサーバが代理で認証を行う方式
リバースプロキシを使ったシングルサインオンの場合、利用者認証においてパスワードの代わりにデジタル証明書を用いることができる

仕組み

  1. クライアントはリバースプロキシサーバにアクセスする
  2. リバースプロキシサーバは認証サーバにアクセスし、ユーザ認証を行う
  3. ユーザ認証が成功すると、リバースプロキシサーバはWebサーバに代理アクセスする
メリット
デメリット
制限事項

SAML(Security Assertion Markup Language)

標準化団体OASISによって策定された、認証情報を表現するためのXML仕様。認証情報の交換方法はSAMLプロトコルとしてまとめられており、メッセージの送受信にはHTTPもしくはSOAPが使われる。SAMLはユーザの認証や属性、認可に関する情報を記述するマークアップ言語で、WebサイトやWebサービスの間でこれらの情報を交換することで、一度の認証で複数のサービスが利用できるシングルサインオンを実現できる。

SAMLの認可サービス
仕組み

Webアプリ上には、SP(サービスプロバイダ)と呼ばれるモジュールが稼働しており、IdP(Idプロバイダ)と呼ばれるWebアプリと連携して、利用者認証を行う。

SP(Service Provider:サービスプロバイダ)

ユーザにサービス提供する

IDP (Identity Provider:アイデンティティプロバイダ)

ユーザのアカウント情報の管理、認証を行う

SAMLRequest

SAMLの要求メッセージ(プロトコル)

SAMLResponse

SAMLの応答メッセージ(プロトコル)

  1. ユーザは、Webアプリにサービスを要求する際、SP用のクッキーがあれば、それを提示する。
    (提示したクッキーが有効であることが検証された場合はGに進む。)
  2. SPは、SAML認証要求を生成(SAMLRequestメッセージ)する
  3. SAMLRequestメッセージをldPにリダイレクトする。
  4. SAML認証を解析する
  5. 利用者は,利用者IDとパスワードを入力し、認証を受ける。
  6. ldPは、利用者IDなどの属性を暗号化及びデジタル署名したSAMLResponseメッセージ(認証アサーション)を作成する
  7. 認証アサーションをユーザ経由でSPに転送する。
  8. SPは、SAMLResponseメッセージのデジタル署名などを検証し、サービスを提供する。
バインディングの種類

SAMLでは、IdPとSPの間で要求メッセージ・応答メッセージを送受信するためにHTTPやSOAP等のプロトコルにマッピングする方法をバインディングという。

Artifact

アイデンティティ管理(ID管理)概要

ディレクトリサービスやSSO認証システムなどの技術を活用するとともに、運用体制やワークフローなどを整備することでより効率的かつセキュアなユーザ情報の管理・コントロールを実現する。

ID管理のシステム
プロビジョニング

あらかじめ何らかの設備やリソースなどを準備しておき、それをユーザ要求に応じて割り当てる(供給する)こと


≪Facebookのなりすまし≫


≪CAPTCHA(キャプチャ)≫

人間には読み取ることが可能でも、プログラムでは読み取ることが難しいという差異を利用して、ゆがめたり一部を隠したりした画像から文字を判読させ入力させることで、人間以外による自動入力を排除する技術。人間は読み取ることができても、コンピュータ(プログラム)が読み取ることができない、右のような文字の画像をWebサイトに表示し、同じ文字を入力させることによって識別する



≪Oauth2.0≫

ために

一方の、OpenIDの場合は、認証の許可だけになります。

OAuth Server:OAuthをサポートしたAPIを提供しているサービス(サービスA)
OAuth Client:OAuth Serverが提供するAPIを利用する側のサービス(サービスB)
Resource Owner:アクセス権限の付与を行うユーザ自身

※Oauth1.0はセキュリティ上の欠陥があり、Oauth2.0で改良された。
※シングルサインオンの仕組みではないのですが…


時刻認証

タイムスタンプは、以下のことを証明可能

用語の整理
処理の流れ
  1. 電子データのハッシュをTSAに送付する
    [電子データ]→HASHする→[電子データHASH]・・・これをTSAに送付する
  2. TSAでは、電子データのHASHに時刻情報を付加して電子署名をする
    『[電子データのHASH]+時刻情報』+電子署名

    ※電子署名の中身は、『[電子データのHASH]+時刻情報』のハッシュを
     TSAの秘密鍵で暗号化したもの
     できあがったものは、タイムスタンプトークンと呼ばれる

タイムスタンプトークンの検証

タイムスタンプトークンの中身である『[電子データのHASH]+時刻情報』が改ざんされていないかを確認する

メッセージ認証

メッセージ認証は、メッセージ(文章)を認証するという意味。

メッセージ認証の目的

メッセージが改ざんされていないことを確認する。
メッセージ認証には、MAC(message authentication code)を使う。これは、デジタル署名と同じように、メッセージにハッシュをつけて送ることで、改ざんがされていないかがわかる。

メッセージ認証の仕組み

公開鍵基盤とハッシュ関数を利用したメッセージ認証の手法は
受信者は、ハッシュ関数を用いてメッセージからハッシュ値を生成し、送信者の公開鍵で復号したハッシュ値と比較する。

オンラインバンキングの認証

項番セキュリティ対策マルウェアJの感染に起因する
不正送金への対策としての評価
マルウェアKの感染に起因する
不正送金への対策としての評価
1利用者ID
パスワード認証
対策にならない対策にならない
2クライアント証明書による認証対策になる対策にならない
3乱数表による認証対策にならない対策にならない
4ワンタイムパスワード認証対策になる対策にならない
5リスクベース認証対策になる対策にならない
6送金内容認証対策になる対策になる

※マルウェアJは、「Webインジェクト(Webインジェクション)」と言われる攻撃で、マルウェアKはMITB攻撃である。
※ただし、5はマルウェアJにて、その内容を入力させられる可能性があり、対策になるというのは限定的である。


≪ヒステリシス署名≫

ヒステリシス(Hysteresis:履歴)署名とは、デジタル署名を付与する際に、過去に生成したすべての署名情報を取り込んで署名間の連鎖構造を作る技術。
ヒステリシス署名でじゃ、あるデジタル署名の有効期限が切れたとしても署名間の連鎖構造を検証することにより電子文書の改ざんを検知できるため、単独の署名を行うよりも長期間にわたってデジタル署名の有効性を維持することが可能


 

ページトップへ 次へ