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

目次

概要

詳細

現在、分析中。

https://twitter.com/openhishopjpo/status/1101432292419895296

ストア

https://github.com/abergs/fido2-net-lib/blob/master/fido2-net-lib/DevelopmentInMemoryStore.cs

storedUsers

ConcurrentDictionary<string, User> storedUsers = new ConcurrentDictionary<string, User>();

storedCredentials

List<StoredCredential> storedCredentials = new List<StoredCredential>();

サーバ

https://github.com/abergs/fido2-net-lib/blob/master/Fido2Demo/Controller.cs

MakeCredentialOptions?

  1. Get from DB by username (ユーザ名でDBから取得)
    • user (in our example, auto create missing users)
      (ユーザ (この例では、見つからないユーザを自動作成))
    • keys (キー)

  2. Create options (MakeCredentialOptions?を作成)

  3. Temporarily store options, session/in-memory cache/redis/db
    (session/in-memory cache/redis/dbの一時保存オプション)

  4. return options to client
    (クライアントにMakeCredentialOptions?を返す)

MakeCredential?

  1. get the options we sent the clientt
    (クライアントに送信したMakeCredentialOptions?を取得)

  2. Create callback so that lib can verify credential id is unique to this user
    (信任状IDがこのユーザに固有であることをlibが検証できるようにcallbackを作成。)

  3. Verify and make the credentials
    (認証情報を確認して作成)

  4. Store the credentials in db
    (資格情報をdbに格納)

  5. return "ok" to the client
    (クライアントに "ok"を返す)

AssertionOptionsPost?

  1. Get from DB (DBから取得)
    • user (ユーザ)
    • registered credentials (登録済み資格情報)

  2. Create options (AssertionOptions?を作成)

  3. Temporarily store options, session/in-memory cache/redis/db
    (session/in-memory cache/redis/dbの一時保存オプション)

  4. Return options to client
    (クライアントにAssertionOptions?を返す)

MakeAssertion?

  1. Get the assertion options we sent the client
    (クライアントに送信したAssertionOptions?を取得)

  2. Get from database (DBから取得)
    • Registered credential (登録済み資格情報)
    • Credential counter (資格情報カウンタ)

  3. Create callback to check if userhandle owns the credentialId
    (userhandleがcredentialIdを所有しているかどうかを確認するcallbackを作成)

  4. Make the assertion
    (アサーションをする)

  5. Store the updated counter
    (更新したカウンタを保存)

  6. return OK to client
    (クライアントに "ok"を返す)

参考

abergs/fido2-net-lib

abergs/fido2-net-lib: FIDO2 .NET library for FIDO2 / WebAuthn? Attestation and Assertion using .NET
https://github.com/abergs/fido2-net-lib

Ideas Of Anders Åberg

Latest Posts
http://ideasof.andersaberg.com/


Tags: :IT国際標準, :認証基盤


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS