マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Microsoft Passport (旧 Next Generation Credential)

  • ID+パスワードの枠を超えた、Windows10のより強固な公開鍵暗号(PKI)ビルトイン サービス
  • Windows10だけでなくWebサービスへも、「PINコード/生体認証」を使用してサインインできる。
  • Windows 10で以下を行うと有効になる。
    • Microsoftアカウントでセットアップ
    • Azure AD参加を「組織アカウント」(Windows 10では「職場または学校アカウント」と表現)でセットアップ

認証の仕組み

2 要素認証

PINコード

  • Microsoft Passportにより、4桁以上のPINコードでサインインできるようになった。
  • 以下のような仕組みのため、PINコードは4桁でも安全とされている。
  • 「PINコード」と「デバイス」をひも付けることで
    単純なパスワードよりも強固なセキュリティを実現している。
    • PINコードを生成する際に、秘密鍵がデバイス側に登録される。
    • サービスの登録時に、公開鍵がサービス側に登録され、
    • サービスへのログイン時に、
      • クライアント側のPINコードで秘密鍵によるアサーション生成が行われ、
      • サーバー側で公開鍵によるアサーション検証が行われる。
  • アカウント ロックアウト後、
    • ユーザーは PIN をリセットする必要がある。
    • PIN をリセットすると、キーと証明書は削除される。

生体認証

  • Windows Helloの生体認証のための前提システムとしても機能する。
  • このため、Windows Helloを利用するには、PINを設定しておく必要がある。
  • [設定]→[アカウント]→[サインイン オプション]を表示し、
    • [暗証番号(PIN)]の[追加]をクリックしてPINを設定する。
    • Windows 10に生体認証デバイスが認識されている場合、[Windows Hello]の[セットアップ]が表示される。
    • これをクリックし、Windows Helloセットアップの[開始する]をクリックする。
    • PINコードの入力を求められたら、PINを入力する。
    • 生体認証デバイスに生体認証情報を入力する。
    • 多分、ここで、PINコード+生体認証の秘密鍵がデバイス側に登録される。
  • これにより、生体認証情報でサインインできるようになる。

キーまたは証明書

キー (ハードウェアまたはソフトウェア) またはキーを含む証明書を、
ハードウェアまたはソフトウェアで使ってデバイスの身元を確認できる。

証明書ベースの認証

証明書を発行して管理する公開キー基盤 (PKI) を保有している企業は、
引き続き、Microsoft Passportと組み合わせて PKI を使用できる。

キー ベースの認証

PKI を使用しない、または証明書の管理に関連する作業の軽減を望む企業は、
Microsoft Passportのキー ベースの資格情報を使用できる。

キーペアの生成タイミング

AIK

Windows Helloをセットアップしたタイミングだと思われる。

署名用のキーペア

KeyCredentialManager.RequestCreateAsync実行時に、
AIKを使用した追加の署名用のキーペアが発行されるものと思われる。

キーストアの分離

  • Microsoft Passportは、公開鍵暗号(PKI)ビルトイン サービスである。
  • このPKIビルトイン サービスのキーストアは以下のように分離される。

ユーザ

ユーザー毎に別のキーストアを持つ。

アプリ

  • さらにアプリ毎にコンテナが分割される。
  • Webの場合はドメイン毎にコンテナが分割される。

keyName

ユーザアカウント名を使用するのが慣例である模様。

FIDO

そういうことで、Microsoft Passportは、

  • FIDO1.0(UAF)のデバイス(Windows)側の実装に近いものであって、
  • 且つ、このPKIは、FIDO1.0(U2F)やFIDO2.0でも利用可能。
  • これにより、サービスへのログインに「PINコード/生体認証」を使用できるようになる。

という、FIDOとの関係を持っている。

API

Microsoft Passportが提供するプログラミングシステムのAPI。

Native(Windows.Security.Credentials

Windows.Security.Credentials

  • KeyCredential?
  • KeyCredentialManager?
  • KeyCredentialAttestationResult?
  • UserConsentVerifier?

Web(Web Authentication API

Web Authentication API

SSO

Active Directory(AD)、Microsoftアカウント、Azure AD(組織アカウント)との統合も可能。

  • Windows Hello for Business
    • PINコード/生体認証」経由で対応サービスへの横断的なアクセスが可能となる。
    • 企業でのセキュリティ強化や運用バリエーションのオプションが複数用意されている。
    • Windows Hello以外にもICチップを内蔵したスマートカードの利用

参考

technet.microsoft.com

blogs.technet.microsoft.com


Tags: :認証基盤


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-10-16 (月) 09:33:43 (429d)