ラベル Entra Verified ID の投稿を表示しています。 すべての投稿を表示
ラベル Entra Verified ID の投稿を表示しています。 すべての投稿を表示

2024年10月7日月曜日

Entra IDを使ったパスワードレスでのオンボーディングシナリオ

こんにちは、富士榮です。

Entra IDもVerified IDやFIDOなど色々な要素が組み合わさってきているので、それらの機能をどうやって組み合わせて使うのが良いのか?という疑問が湧いてきます。

そんな時にパスワードレスでオンボーディングをするというシナリオに基づくデザイン〜実装ガイドがMicrosoftから発行されていますので、見てみようかと思います。

Phishing-resistant passwordless authentication deployment in Microsoft Entra ID

こちらのドキュメントです。

全体像はこんな感じですね。


Onboarding step 1: Identity verification

最初のステップではEntra Verified ID(+3rdパーティソリューション)を使って政府発行のIDなどで本人確認するところからスタートします。その後、PCのBootstrapではTAP(Temporary Access Pass)を使ってドメイン参加〜認証器のエンロールをする、という流れですね。(もしくは、最近PreviewになったGraph APIで事前にFIDO認証器をプロビジョニングしておく、という方法もありますね)

関連資料)
前のフェーズでTAPでBootstrapし、最初のクレデンシャルのエンロールをするタイミングです。ここで重要なのはデバイスにバインドされたクレデンシャルではなくポータブルなクレデンシャルをエンロールすべきである、という点です。当然働き方・デバイスの使い方によって事情は異なりますが、最初のクレデンシャルがデバイスにバインドされてしまうと後々困ることになるからですね。

Onboarding step 3: Bootstrap local credentials on computing devices

ポータブルなクレデンシャルがエンロールされれば、あとは個別のデバイスのセットアップを自由にできるわけです。この段階でデバイスごとのローカルクレデンシャルをエンロールしていきます。典型的にはWindows HelloのPINの生成ですね。要するにローカルの鍵ストアをオープンするための手段を作っていくところです。


まぁ、非常に典型的な話ではありますが、ドキュメントではもっと細かくパターン分けされたデザインが出てきますので、みなさんの仕事の仕方、デバイスの種類を考えて適切なデザインをしていってください。

2024年8月17日土曜日

Entra Verified IDの顔マッチング機能が正式リリース(こんどこそ)

こんにちは、富士榮です。

Entra Verified IDのFace check機能の正式リリースについて先月書きましたが、アナウンス的にはEntra Suiteが正式リリースでFace check自体はPublic Previewの状態だったみたいです。

https://idmlab.eidentity.jp/2024/07/entra-verified-id.html


ということで、(こんどこそ)正式リリースになったようです。

https://techcommunity.microsoft.com/t5/microsoft-entra-blog/face-check-is-now-generally-available/ba-p/4175880

MicrosoftのBlogより


ということでHappy face check lifeを!

2024年7月13日土曜日

Entra Verified IDの顔マッチング機能が正式リリース

こんにちは、富士榮です。

NECさんがEntra Verified IDと顔認証技術を使ったデジタル社員証を採用したリリースが出ていましたが、あれはNECさんの本家顔認証技術ですが、それとは異なりEntra Verified ID自体が持つ顔マッチング機能が正式リリースされました。アナウンス自体はMicrosoft Entra Suiteのアナウンスの中にPremium機能としてFacecheckが含まれるようになる、という形で行われました。

こちらがアナウンスです。

なお、顔マッチング(Facecheck)機能はPreviewの時点でこのブログでも取り上げています。

ちなみにお値段ですがチェック1回あたり0.25ドルです。まぁまぁしますね。


とりあえず使ってみましょう。
いつものポータルに顔チェックのアドオンが現れているので有効化します。


有効にするとサブスクリプションとのリンクの設定を求められます。



とりあえずこれで資格情報を提示する際にFacecheckが行われるようになります。
Verifierを使った実際の動作確認は改めてやってみようと思います。

2024年2月8日木曜日

Entra Verified ID+Microsoft Authenticatorでの顔マッチングのデモ

こんにちは、富士榮です。

先日、Entra Verified ID+Microsoft AuthenticatorでVerifiable Credentialsの中の写真情報と自撮りの顔マッチングをすることによりVerifiable Credentialsの検証に加えて提示者の確認を実施することができるようになった、というポストをしました。
某ネコ氏にデモが見たいというリクエストをもらったのでデモ動画をとってみました。



と思ったらちょうどPublic Previewの案内が公式に出てますね。

OKパターン


最近撮った写真を使ってVCを発行したのでまぁOKです。

NGパターン



宣材写真は・・・・・ダメですな。プロの加工の技は顔マッチングを突破できないということですね。


しかし、この仕組みですがマッチング対象とできる写真が1枚だけ、という段階で実用は結構厳しいんじゃないですかね。一応メガネの有無くらいはちゃんと判別してくれていますが、マッチング対象となる情報をもう少し充実することができれば使い勝手は良くなるんじゃないかと思います。

2024年2月1日木曜日

Entra Verified ID+Microsoft Authenticatorで顔マッチングを行う

こんにちは、富士榮です。

そういえば以前のIgnite?Build?でEntra Verified ID+Microsoft Authenticatorの組み合わせのパターンを使うとVerifiable Credentialsを提示する際に、VC内に埋め込んだ顔写真と自撮りのマッチングをすることでVCの持ち主の検証もできるよ、というデモが公開されていたんですが、自前でIssuer/Verifierを実装する場合のサンプルコードが公開されています。(しばらく前に公開されていましたが見る時間が無かったのですがようやくコードを読めました。実際に動かしてはいないです。デモサイトでは試したのですが)

今回見ていくコードはこちらの中のnode.js版です。

VCの定義を見ると、こんな感じで写真属性を定義しています。
- Displayファイル
{
"claim": "vc.credentialSubject.photo",
"label": "User picture",
"type": "image/jpg;base64url"
}
- Rulesファイル
{
"outputClaim": "photo",
"required": false,
"inputClaim": "photo",
"indexed": false
}
これらの定義を入れたVCを発行するようにIssuerを設定すればIssuer側は完了です。

実際の顔マッチングはVerifier側の処理となりますので、verifier.jsを見るとこんな感じでfaceCheckのフラグの状態を見て、presentationConfigに写真Claimの名称とマッチングのスレッショルド(マッチ度合いでOK/NGを返す値)を指定しています。
if ( req.query.faceCheck && req.query.faceCheck == "1"
&& !presentationConfig.requestedCredentials[0].configuration.validation.faceCheck ) {
var photoClaim = mainApp.config["sourcePhotoClaimName"] || photo;
var confidenceThreshold = parseInt(mainApp.config["matchConfidenceThreshold"]) || 70;
presentationConfig.requestedCredentials[0].configuration.validation.faceCheck = {
sourcePhotoClaimName: photoClaim,
matchConfidenceThreshold: confidenceThreshold
};
}

あとは基本的に従来通りcreatePresentationRequestのエンドポイントにアクセスすれば良いのですが、まだ顔マッチングがベータの機能ということもあり、APIバージョンをbetaにしないといけません。
if ( payload.includes("faceCheck")) {
client_api_request_endpoint = client_api_request_endpoint.replace("/v1.0/", "/beta/");
}

あとは細かい部分で何箇所か変更する部分もありますが、基本はこの部分が顔マッチング機能を使う場合にVerifier側で対応すべきところです。

これで単純なVC提示に加えて顔マッチングを組み込むことができそうですね。