Identity
Microsoft

アイデンティティ管理の変遷

2020-04-22 02:00

温泉での会話がきっかけで始まったOpenID Foundation Japan女子部。 第2回目の勉強会は、「アイデンティティ規格の歴史」を大先輩ふじえさんに教えていただきました。

テーマ設定について

昨年9月に開催されたInternet Identity Workshopで、MicrosoftでIdentity規格チームを率いるPamela Dingleのアイデンティティ規格の歴史を振り返る [ ”Identity Standards: The Soap Opera” ](https://iiw.idcommons.net/Identity_Standards:The_Soap_Opera(catch_up_on_previous_episodes_%2B_review_major_plot_points) というセッションに私が参加した際に、半分くらいしか理解できなかったので、しっかり学びたいという私のリクエストでした。

アイデンティティ管理の変遷がベースとしてがわかると、各プロトコルが生まれる理由もわかるようになるので、ID初心者やIDプロトコルを実際に実装している方でプロトコルの背景などをしっかり理解したい方向けの記事になります。

ちなみに、「デジタル世界で如何に安全に認証できるようにするか」という大きな世界観は一貫して変わっていなかったりするんですよね

アイデンティティ管理の変遷

2011年にふじえさんが使用していた「アイデンティティ管理の変遷」に関するプレゼン資料の解説から、スタート。 (SlideShareに上げていたおかげで、2011年のスライドが残っていることに感動。私もSlideShareにちゃんとアップロードする習慣を身につけなければ)

以後の第X世代という記述は、以下のスライドをご参考ください

ID管理 第1世代:内部統制(90年代)

  • 社内統制がメインで言われていた時代

    • LDAP以前のX.500やX.509の時代
    • 具体的なサービスのNovellやNetwareは、TCP/IP以前のルーターを越えられないIPX/SPXプロトコルを利用
    • Active DirectoryはKerberosのバックエンドにLDAP
  • 技術概観

    • クラウド出始め、Windows7が終わりごろ、Active Directory出始め

ID管理 第2世代:メタディレクトリ

  • ディレクトリの乱立を解決するためにメタディレクトリが登場した時代

    • Windows Server 2000が登場し、LDAPがきて、部門ごとにディレクトリが作られたことによるデータの同期需要に対応するために
    • 働き方の変更に伴い、ID Lifecycleが変わってきた(日本は遅れていた)
      
  • 技術概観

    • SunMicrosystemsの全世代(データ同期やプロビジョニング)
    • パスワードの同期ができるソリューションができちゃったり
    • イントラでの連携も

ID管理 第3世代:企業内統合

  • 企業グループの中の統合が進んだ時代(2005-2006)

    • Active Directory同士の連携時にSAMLとID-WSFを利用
  • ID-WSF

  • どの属性をどこに持っていくか選べる
    
  • 医療関係では今も使われているSAMLとOAuthの愛の子
    
  • (今もサポートしているのはNTT-TXさんくらい)
    
  • 技術概観

    • Sun Identity Server(SAMLとIDWSF)
    • SAML Federation:みんな当時は何に使うかわからなかった
    • AD FSは2003から乗ってた

ID管理 第4世代:監査を重要視

  • 企業の会計監査の中身が重要視された時代

    • コンプライアンス対応が厳しくなり、ホリエモンが捕まったような時代
    • 監査系コンサルもIDに力を入れ始める(デロイト&オラクルなど)
  • ロールマネジメントを重視:誰がどういうロールかを分析

    • Role mining・逆プロビジョニング・リコンシデーション(データの吸い上げ)
  • 上記データを人事側のデータと突合・監査・レポーティング

    • エクセルと台帳を突合して分析(アクセスコントロール違反がないか)
    • ソリューションの良し悪しは、速くやるテンプレートやマクロを持っているか
    • パッケージSWを作る会社が出始めて、買収されていった
  • 技術概観

    • SOX HIPPA PCI DSS
    • いろんなアプリケーションとのコネクタも登場

ID管理 第5世代:クラウド登場

  • クラウドが出始めて使われ始めた時代

  • SAMLがようやく世の中に認知された時代(2005公開~)

    • Windows Server 2008 R2が2010年にでてADFS 2.0がSAML対応
    • PF側の進化でキラーアプリケーション(SalesforceやGoogleなど)があったことで実現
  • 以下の三つの三つ巴

    • SAML2.0(2005年)
    • OpenID 2.0(2006年)
    • WS-Fed
  • Kantara Initiativeの登場でID連携の歴史に進む

    • Kantara=架け橋=アーチという意味
  • 技術概観

    • Cookieを使ってドメイン内でのシングルサインオンを実現
    • リバプロ型もあった
    • O365が出たばっか
    • クラウドとID連携ができるようになったソリューションが一気に流行る

次はWAM

  • WAM: web access manegement
  • プロダクトはHP IceWall/ Ping Access
    • セッションのrevokeが簡単にできることが利点、中央集権型で高額。某自動車メーカーと某通信会社が今でも利用
    • 問題①: Agentのライフサイクルとアプリケーションのライフサイクルが合わなくなる
    • 問題②:エージェントを入れられないプラットフォームも存在する(マイナーなOSやクラウドなど)

ID federation was born

  • ID連携・フェレーションが生まれる
    • アサーション(認証結果表明)をJWTに埋め込んでクライアント(User-agentブラウザ)を経由して受け渡すことでCookieを無視してSSO
    • クライアントのブラウザのバージョンさえ見ていればいいから標準化しやすい
    • 過去にOAuth WARPとかいうSimple Web Tokenとかいう何かを使ってた狭間の時期もあったらしい
    • Azure App Fabric ACS 2010でクラウドにも対応(今よく見かけるのはSAMLのassertion consumer serviceで別物)

マイクロソフトの存在感

  • EnterpriseとCosumerをつないだのはマイクロソフト

  • .NET Passport(HailStorm)は、MSがインターネットの世界でも天下を取るために、インターネットでの「パスポート」ととして機能するために生まれたもの(黒歴史)

    • オープン化するも時すでに遅し
    • 一方でHello Windowsでこの時の世界観は粛々と実現:PC起動時の一度の認証で各サービスにもログイン可能に
  • 2002年に生まれた.NET CLR(JVMみたいなもの)は、マネージドコードというコードのポータビリティ向上を目指したもの

    • .NET Frameworkで書かれたコードはアンマネージドコードなければ異なるアーキテクチャのWindowsでもそのまま動いたりする

ID walletの登場

-  DID/SSIの先駆けとなるような個人が自分のクレデンシャルを一か所で管理できるソリューションが登場(Decentralized Identifier/Self-Sovereign Identity)

  • Infocard (Windows Cardspace)
    • アプリケーションへのログインに使用できるクレデンシャルを自分で選べる(SSI的)
  • U-Prove - MSのZKP(ゼロ知識正目)の原型商品

変わらない世界観:デジタル世界における安全な認証

  • 当時の仮想の箱庭の中で、仮想通貨や商取引を導入したセカンドライフで、デジタル世界でもお金が本格的に絡むようになりのでIdentityの確認が必要になってきた

    • ここでの知見が今の仮想世界に生きてたりする先駆的サービス
  • 課題(抜粋)

    • User-centric/Privacyを如何に担保するか
    • デジタルな世界はTrust Anchorがない
  • ソリューション(抜粋)

  • Enrollment and Identity proofing がAssuarance level

    • AAL(Authenticator Assuarance Level)で、認証時の確かさを確認する(知識認証なら弱いからレベル1とか)
    • RPにAssertionを渡すときにどれだけ確実な形で渡せたかがFederation Assurance Level (FAL)
  • Digital - physical結び付けの強度が認証

リソース