第2日目(2014年10月24日)の 安納 順一さんのセッション「多要素認証 Deep Dive ~ハイブリッド認証基盤だから実現できる 柔軟で高機能な多要素認証~」のメモを共有します。
正直、このセッションを聞いてから、カスタム~ を作りたくてしょうがないです。
目次
セッションのテーマ
- マイクロソフトが今できる多要素認証 それをどう拡張するか?
- ぜひ開発者に作ってもらいたい
- 社内にたくさん Webサーバー
- 直接クライアントが行くのは嫌なので
- 間にリバースプロキシをいれて、それ経由でアクセスさせたい
よくある構成 – マイクロソフトはできないのか? できるようになりました
Windows Server 2012 R2
ユーザー – リバースプロキシ – ADFS – 社内システム
+ ADDS
マイクロソフトの今のソリューションだと簡単に作れる
2012 R2 からは認証も何も実装していない ただの HTML ファイルでさえもADFSに登録できるようになった
証明書利用者信頼
- URLを開く
- プロキシの認証 ADDS ログイン画面 アカウントとパスワード
- HTMLがひらく
- もし Windows 認証に対応したWebサイトならシングルサインイン
これを多要素認証に対応するには??
多要素認証とは
- 本人が知っていること
- ID
- PASS
- 秘密の質問
- 本人が確実に持っているもの
- Smartcard
- スマホ
- PC
- 生体情報
- 本人の特性など
- 場所
- 行動履歴
- 第3者による認証
MFA Provider
AAD の一部として提供されている
AAD 多要素認証はユーザー単位で ON/OFF できる
ADFSにつなげたまま多要素を有効にするには?
Microsoft Azure AD MFA Provider – AAD – ADFS -Windows Server AD
Microsoft Azure AD MFA Provider – ADFS – Windows Server AD
直接つなぐ
Azure MFA AD Server On AD FS
- ADFS から Azure MFA プロバイダーを直接呼び出すためのサービス
- ダウンロードしてインストール
- ユーザーに対して MFA はどうなのか?を指定する
- 条件を満たした時(登録されたデバイスかどうか?インターネットかどうか?)でMFAが発動
- ADDS ログイン画面のあと ADFS ログイン画面がでて多要素認証
- ADDではここまでできない。ADFSでできる
ADFSとはなにか?
- 追加認証プロバイダー -証明書、OTP,携帯電話、IM –Azure 多要素認証プロバイダ
- クレームストア -ユーザー情報を詰め込んだもの — ldap, SQL Server
- SaaS
- LOB -ロボットアプリケーション
- これらがバラバラで 業務アプリケーションが自分でそれぞれ独自に取りに行っていた
- これを整理して 中央に アクセスコントロールサービス を追加しよう AD FS-AD DS
サポートされている認証プロバイダ
- AD DS(必須)
- 証明書(オプション)
- Azure MFA(有償オプション)
- カスタム(要開発)ー--これを作ってほしい と。
クレームストア
- AD DS(既定)
- ldap
- SQL Server
カスタム認証プロバイダ
- DEMO Windows Phone にプッシュでワンタイムを送って、入力させる認証
- ユーザーが AD FS にくる
- カスタムで Webの画面が表示されるーPINを入力しろ と出ている
- PINを生成して、Mobile Services に送信
- Registrations ユーザーのデバイスIDが登録されている、PNS のURIも登録
- Push Notification Service に PIN を登録すると、送ってくれる。
- PINを生成して、Mobile Services に送信
- スマホにPINが表示される ユーザーが入力する
- PINを認証する
- このサンプルでは ADの空いてるフィールドにデバイスIDを格納しておいて確認している
- 最終的に作るものは DLLファイル ーADFSにインストールする
ADFSにとにかく社内リソースを集約して 認証プロバイダを利用する
SHIN-ICHI の感想
「作って欲しい」と直々に頼まれたのでは仕方ない(違)、作るしかないじゃないか!(違)
しかし、そのくらい魅力がありますね、自分で「多要素認証」の新しい一つを作るなんて。
デモでは実際の構成に、まだどうしたら良いのか?わかりませんが、私もなんか作って見ようかな、と思います。