Quantcast
Channel: IdM実験室
Viewing all 769 articles
Browse latest View live

Entra IDの条件付きアクセスでパスキーを使った認証を強制する

$
0
0

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

前回、Entra IDの条件付きアクセスがデバイスコードフローなどの認証フロー単位で適用できるようになった(Preview)という話をしました。

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


すると、某FacebXXkで某氏よりTeams Roomとかで使えそう、かつWindows Helloを除外した上でYubikeyなどFIDOキーを使った認証を強制できると良さそう、、というコメントをもらったのでやってみました。



やることは、

  • 認証強度の設定を行う
  • 条件付きアクセスに設定した認証強度を紐づける

です。


認証強度の設定

認証強度、というとよくわかりませんが、認証方法をカスタムで設定できるEntra IDのセキュリティ機能です。

認証方法→認証強度のメニューで「新しい認証強度」の追加を行います。この際に、パスキー(FIDO2)を選択します。Windows Hello for Businessや証明書ベース認証などと分けて設定ができるので、Windows Helloなどとは分けて設定ができます。ちなみにここでパスキー(FIDO2)として設定を行うとtransportがusb/nfcに設定されるっぽいのでplatform authenticatorは除外できます。細かいパラメータは先日のポストで書きましたので知りたい方はこちらへどうぞ。

また、詳細オプションを設定することでAuthenticator Attestation GUID(AAGUID)を設定することもできるので認証器の種類まで絞り込むこともできます。


条件付きアクセスの設定を行う

前回のポストで紹介したデバイスコードフローをブロックするポリシーをベースにカスタマイズしてみます。

やりたいことは、

  • デバイスコードフローの場合
  • パスキー(FIDO2)での認証を強制する
です。

条件付きアクセスの設定の許可のところでブロックしていたところを「アクセス権の許可」を選択、「認証強度が必要」から先ほど作成した認証強度を選択します。


設定としてはこれでおしまいです。

しばらく設定が馴染むまで待ちましょう。


動作確認

早速動きを見てみましょう。

ざっくりいうと、パスワードで認証するとパスキーでの追加認証が求められ、最初からパスキーで認証するとそのままログインが完了します。

以下の例ではまずはパスワードで認証しています。

するとパスキーでの追加認証が求められます。
認証器を使って認証します。

ログインが完了します。

確かに某氏が言うように割と不特定多数が触れる環境(例えばゲスト用の会議室など)でデバイスコードフローを使う場合にPINのみでログインされてしまう可能性などを鑑みるとこう言う使い方もありかもしれませんね。




RPは外部IdPをどこまで信頼するべきなのか

$
0
0

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

先日、「外部IdP利用時にRP側"でも"多要素認証を行うべきか」というポストをしました。

結局は”Relying Party”というくらいなのでIdentity Providerに依存する存在にはなるのですが、単に「認証機能を作るのが面倒くさいので外部IdPを使えば運用面・コスト面で楽になるよね」という文脈で語られることも多いのではないかと思います。

前回はacr/amrというツールの観点で少しだけ話をしましたが、本質的にRelying Partyは何をIdentity Providerに”頼って”いるのだろうか・・・ということを考えていく必要があるのではないかと思います。

今日はそんな話です。


Relying Partyとは何なのか?

まず、Relying Partyの定義を見ていきましょう。いつものISO 24760-1:2019のTerminologyを見るとこのように書かれています。

System that relies on other party (identity provider) to provide identity information. Relying party (also known as "service provider") usually relies on identity provider to authenticate the user, and relay the information to the relying party. Relying party has no access to credentials (e.g. passwords), it only knows that the authentication was successful. Identity provider may transfer identity attributes and additional information (such as authorization decisions) to the relying party. Relying party usually has a trust relationship with identity provider.

ID 情報の提供を他者(ID プロバイダ)に依存するシステム。依拠当事者(「サービス・プロバイダ」とも呼ばれる)は通常、ID プロバイダがユー ザを認証し、その情報を依拠当事者に中継することに依存している。依拠当事者はクレデンシャル(パスワードなど)にはアクセスできず、 認証が成功したことだけを知っている。ID プロバイダは、ID 属性と追加情報(認可決定など)を依拠当事者に転送する。依拠当事者は通常、ID プロバイダと信頼関係を持つ。(Deeplで機械翻訳)

これを見ると、

  • ユーザ認証の結果
  • ID属性
  • 追加情報(認可決定など)
といったID情報をIdPからもらって動作するシステムを指すようです。
そして、最後の一文が一番大切な文言です。
依拠当事者は通常、ID プロバイダと信頼関係を持つ。

「信頼関係」が構築されていることが前提ということですね。

信頼関係とは

もちろん単純にクライアント登録、redirect_uriの登録って話ではありません。それは信頼関係が構築された結果であり、それ登録があるから信頼関係がある、という話ではないわけです。(システム構築だけを見ていて、この辺は勘違いされているケースを多々見てきました・・・)

信頼関係を構築する上ではまずはお互いのことを知ることが必要となります。

RPからIdPを見ると、

  • どのようなID情報(属性など)を管理・提供しているのか
  • ID情報がどのような精度・鮮度で登録されているのか(いわゆるIAL)
  • 登録されたID情報は適切に管理されているのか(運用体制など)
  • ユーザ認証はどのような強度で実施されているのか
  • サービスレベル(可用性など)はどのようなレベルなのか
  • どのような技術仕様(プロトコルなど)をサポートしているのか

が気になる点の一例です。

また、同様にIdPからRPを見ても、

  • 提供したID情報を適切に扱われるのか(情報漏洩などへの対策など)
  • どのようなサービスに利用されるのか(反社会的勢力はもちろん、提供したID情報を用いて不適切だったり、責任を負いきれないほどの超重要なシステムに使われていたりしないか、など)
  • どのような技術仕様(プロトコルなど)をサポートしているのか
  • ブランディングを毀損しないかどうか

などが気になります。

信頼「関係」というからには単純に片方向だけでは関係は成立しないわけで、相互に信頼をする必要があります。

また、同様に接続をする断面だけでなく、継続的に信頼し続けるためにはどのくらいのインターバルで何を確認するのか?を確認しておく必要があります。

この辺りを定めたのがトラストフレームワークで、通常は接続するための前提事項や規則などに加えて継続的に誰が何を確認するのか、などの運用についても定義されています。

例えば、国立情報学研究所が定めている学認のフェデレーションに参加する機関に求めるルールが学認技術運用基準として定められています。

https://www.gakunin.jp/document/80

この辺りのトラストフレームワークはOpen Identity Exchange(OIX)が出している「Trust Frameworks for Smart Digital ID」が有名です。

https://openidentityexchange.org/a-guide-to-trust-frameworks-for-smart-digital-id


ソーシャルログインではどうなっているのか

FacebookログインやYahoo! ID連携など広範に使われるソーシャルID基盤ではRPと接続をする都度トラストフレームワークの取り決めをしたり運用の取り決めをするのは不可能に近いので、一般的にRPに開発・接続に関する規約を公開し遵守を求めています。

結果、IdPに非常に優位な状態が出来上がります。。(仕方ありませんが)

例えば、facebookの規約を見てみましょう。

https://www.facebook.com/legal/commercial_terms

4. Limits on Liability: In addition to and without limiting the scope of the “Limits on liability” section in our Terms, you agree that we are not responsible for the actions, services, content, or data of third parties and you release us, our directors, officers, employees, and agents from any claims and damages, known or unknown, arising out of or in any way connected with any claim you have against any such third parties.

4. 責任の制限: 利用規約の「責任の制限」セクションの範囲に加え、またその範囲を制限することなく、利用者は、当社が第三者の行為、サービス、コンテンツ、またはデータに対して責任を負わないことに同意し、利用者がかかる第三者に対して有する請求に起因する、またはかかる請求に何らかの形で関連する、既知または未知のいかなる請求および損害からも、当社、当社の取締役、役員、従業員、および代理人を免除するものとします。

結局何の責任も負いませんよ、と言うことですね。


日本企業はどうでしょうか?Yahoo! JAPANのID連携の規約を見てみましょう。

https://developer.yahoo.co.jp/yconnect/v2/guideline_20220401.html

例えば免責事項の3番目にこのような記載があります。IDに関する属性保証や認証結果に関する保証もないよ、と言うことですね。

利用者が予定している目的への適合性、有用性(有益性)、セキュリティ、権原、非侵害性および正確性等について当社が一切保証しないこと


上記を踏まえてRPはどうするべきなのか

ユースケース次第、としか言えないのですがそれだと思考停止するので、ID保証(IAL)、認証強度(AAL)を含めRP側でもちゃんと考えて対策を打つ必要があるのではないでしょうか?

つまり、何をIdPに頼って、何を頼らないのか、を考えることにもつながるわけですが、上記の通りソーシャルログインについてはほぼ何も保証はされないという前提で考えると、ユーザがRPの提供するサービスへ登録する際のハードルを下げる「離脱防止」という観点での依存を基本ラインとして、IDの保証が必要なサービスであれば追加の属性確認(KYCなど)をRP側でも実装することは考えないといけません。また認証強度が必要なのであれば先日のAuth0の例ではありませんが、RP側でも多要素認証などを個別で実装するなどしないと安全には使えない状態となるはずです。

この辺りは最悪のケース(IdP側のインシデントなど)が発生したとしても、RPが独立性を保った上でサービス提供を継続できるかという観点でサービス設計をしていくことが大切だと思います。



IETF 119で発表されたJOSE、COSE、OAuth関連のスペック

$
0
0

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

IETF 119がブリスベンで本日まで開催されています。

実は私はIETFは参加したことがない(昨年の横浜も忙しくて行けなかった・・・)のですが、参加している人たちから色々と情報が流れてきています。

Mike Jonesさんが以下のポストをしています。

Eight Specifications Published in Preparation for IETF 119

https://self-issued.info/?p=2503

ポストによると主にMikeが絡んでいるスペック中心ではありますが、以下のスペックに関するUpdateがあったとのことです。

実装を追いかけている人は必読ですね。

OAuth2.0 Security Best Current Practiceを読んでみる(7)

$
0
0

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

すこし空きましたがこちらも続けていきます。

引き続き攻撃パターンと緩和策です。前回は307リダイレクトまで行きましたので続き13個目/18個のTLSを終端するリバースプロキシから行きたいと思います。


攻撃パターンと緩和策

  • TLSを終端するリバースプロキシ
    • 一般的なWebサーバの構成だとリバースプロキシ(と言うよりもロードバランサーでやることが多いかと)でTLSの終端処理をした上で実際のWebサーバへリクエストをディスパッチすることが多いと思います
    • その際にhttpヘッダーにIPアドレスや証明書とのバインディングの情報などさまざまな情報を付与することがありますが、不正にヘッダを改竄することが攻撃につながる可能性があります(典型的にはX-Forwarded-Forなど)
    • と言うことでちゃんとhttpヘッダのサニタイズをしましょう(MUST)ということです
    • また、リバースプロキシと実際のWebサーバの間のネットワークに攻撃者がアクセスできてしまった場合を仮定して内部ネットワークにおいてもアクセス制御をちゃんとしましょう
  • リフレッシュトークンの保護
    • リフレッシュトークンを使うとアクセストークンが発行できるので、攻撃者にとってはリフレッシュトークンは確かに魅力的な攻撃対象です
    • RFC6749でも転送中や保存中の保護やクライアント認証の実施などの対策を示していますが、ここでは更に高度な保護の方法について考えます
    • クライアントのリスク評価を行った上でリフレッシュトークンの発行の可否を判断する必要があります(MUST)。リフレッシュトークンを発行しない場合は認可コードフローなどでアクセストークンを発行するように構成することができます
    • リフレッシュトークンを発行する際はユーザの同意に基づき、特定のスコープ・リソースサーバへ紐付けられる必要があります(MUST)
    • コンフィデンシャルクライアントの場合はクライアント認証を必須としていますが、パブリッククライアントの場合はmTLS(RFC8705)やDPoP(RFC9449)を使ってリフレッシュトークンとクライアントのインスタンスを紐づける必要があります
    • ローテーションを行って無効にされたリフレッシュトークンも認可サーバは保持しておき、万一不正なクライアントが古いリフレッシュトークンを使おうと試みた場合は古いリフレッシュトークンだけでなく、アクティブなリフレッシュトークンについても無効化するなど予防措置を講じることもできます
    • リフレッシュトークンに紐づくスコープの情報をトークンに埋め込むことで認可サーバは取消対象となるリフレッシュトークンの判別をしやすくなる可能性もあります
    • その場合はデジタル署名を施すなどトークン自体の改竄を防ぐメカニズムも導入する必要があります(MUST)
    • また、パスワード変更やログアウトなどのイベントをトリガーにリフレッシュトークンを無効化することも検討しても良いと思います
    • 通常リフレッシュトークンには有効期限をつけますが、一律で設定しても良いですし、リスクレベルに応じて変更するなどの工夫をしても良いと思います
  • リソースオーナーになりすましたクライアント
    • 認可サーバがclient_credentialsフローをサポートする場合、アクセストークンの発行対象がユーザなのかクライアントなのかを判別することが難しくなるケースがあります
    • 具体的にはクライアント登録を行う際にクライアントIDを任意に決定できる場合、ユーザの識別子(sub)と同じ値をクライアントIDとして登録することで、リソースサーバが当該のアクセストークンがユーザに対して発行されたのかクライアントに対して発行されたのかを混同してしまい、望まぬクライアントがユーザのリソースにアクセスできてしまう可能性があります
    • このことを避けるためにはユーザの識別子とクライアントIDの名前空間を分離して識別可能にしたり、他のプロパティを使ってトークンの発行対象がユーザなのかクライアントなのかを判別できるようにしないといけません

ということで今回はここまでです。
しかし読めば読むほど本当にそんな実装してる認可サーバあるの??って思いますが、こういう形でちゃんと文章として出すことが大切なんだろうなぁ、、と思っています。

Entra IDの条件付きアクセス+パスキー(特定のベンダのキーのみを許可する)

$
0
0

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

先日、Entra IDの条件付きアクセスでパスキーの利用を強制する方法を書きました。

https://idmlab.eidentity.jp/2024/03/entra-id_20.html


今回はさらに一歩進めて、特定のベンダの認証器だけを使えるようにしてみたいと思います。

やるべきこととしては認証方法の登録時に認証器のAAGUID(Authenticator Attestation Global Unique Identifier)を合わせて登録することです。このことにより特定の認証器以外は受け付けないように設定を行うことができます。

ちなみにこのAAGUIDですが、えーじさんがBlogに書いていた通り、ボランティアベースでリストが作成されgithubで公開されています。

手動で確認する場合は、このレポジトリのREADMEに書かれているPasskeys Authenticator AAGUID Explorerを使うのが便利だと思います。このリストに記載されているものに加えてFIDOアライアンスのMeta Data Service(MDS)に登録されているものもあるので、両方合わせて表示するにはExplorerの左上にある「Include MDS Authenticators」をクリックすると世の中の認証器はほぼほぼ網羅できると思います。

例えば手元にあったeWBM eFA310 FIDO2 AuthenticatorのAAGUIDは95442b2e-f15e-4def-b270-efb106facb4eということがわかります。


なお、Entra IDに登録済みのセキュリティキーであればアカウントのセキュリティ情報のページからAAGUIDを確認することもできます。


ということで認証方法の絞り込みをしていきましょう。先日のポストの中で認証方法の設定でパスキーのみを設定する方法を記載しましたが、その中で詳細オプションがあることを書きました。この詳細オプションを開くとAAGUIDの許可リストを記載することができるので、許可したい認証器のAAGUIDを先ほどのExplorerやセキュリティ情報のページから取得して登録してあげればOkです。

これで完了です。

未登録のAAGUIDの認証器を使ってログインしようとすると条件付きアクセスポリシーが働き、認証には成功するもののアクセス制限がかかりました。

ということで、認証器の強度評価をして許可リストを作って運用するような環境においてはこの設定を使うことで例えばYubikeyのこのモデルはOKだけど、eWBMのキーはダメ、などの制御を行うことができるようになります。

環境統制レベルが低いパブリックに近い環境で組織内のアプリを使わせたいケースなどにおいてはこのような制御が有効なケースもあると思うので活用してみると良いと思います。

送金ユースケースでのVerifiable Credentialの利用

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

単体のVerifiable Credentialsって基本的に単なる検証可能なデータ構造でしかないので、どうやって使うのか?言い換えると検証可能性があることは世界をどう変えていくのか?ということについて色々な人たちががんが得ているわけです。
最近目にして面白いなぁ、と思ったのがDSGV(ドイツ貯蓄銀行協会)の人がドラフトを書いている送金に関するプロファイルです。
Payment Presentation Profile - draft 0

どんなものなのかAbstractを見てみましょう。

The Payment Presentation Profile defines a set of requirements against existing specifications to enable the interoperable presentation of payment data between a payment initiator, wallets and a bank.

This document is not a specification, but a profile. It outlines existing specifications required for implementations to interoperate among each other. It also clarifies mandatory to implement features for the optionalities mentioned in the referenced specifications.

The profile uses OpenID for Verifiable Presentations as the base protocol for the request and verification of W3C JWT VCs as W3C Verifiable Presentations. A full list of the open standards used in this profile can be found in Overview of the Open Standards Requirements.

ペイメント・プレゼンテーション・プロファイルは、ペイメント・イニシエータ、ウォレット、銀行間でペイメント・データの相互運用可能なプレゼンテーションを可能にするために、既存の仕様に対する一連の要件を定義するものである。

この文書は仕様ではなくプロファイルである。実装同士が相互運用するために必要な既存の仕様の概要を示している。また、参照されている仕様で言及されているオプショナリティのために実装が必須である機能も明確にしている。

このプロファイルは,W3C JWT VCをW3C Verifiable Presentationsとして要求及び検証するための基本プロトコルとして,OpenID for Verifiable Presentations を使用する。このプロファイルで使用されるオープンスタンダードの完全なリストは,Overview of the Open Standards Requirementsで見ることができる。

(Deeplで機械翻訳)


デビットカードみたいな感じですね。

支払い要求があったらWalletが銀行の口座に送金指示をかける、みたいな仕組みっぽいです。


支払い先からWalletへ支払いクレデンシャルの発行を依頼するところがOpenID for Verifiable Presentationsなんですね。ユーザは要求に従いクレデンシャルを銀行に対して提示、銀行がVPとVCの検証をして問題なければ実際に支払いが実行される、という仕組みっぽいです。

なんだか車輪の再発明っぽくもありますし、口座間送金のためのネットワークは結局いるんじゃない?と思いますが、送金の意思確認という意味ではまぁ、、という感じです。

いずれにしても色々と考える人たちがいるのは面白いですね。




OAuth2.0 Security Best Current Practiceを読んでみる(8)

$
0
0

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

ようやくこのシリーズも終わりです。

引き続き攻撃パターンと緩和策です。最後の3つを読んでいきます。


攻撃パターンと緩和策

  • クリックジャック
    • 認可エンドポイントにアクセスした時に表示する画面に透明なiFrameを仕込むなどのクリックジャックの話です
    • 認可エンドポイントはMUSTとしてクリックジャック対策をしなければなりません
    • W3CのContent Security Policy Level2以上を適用すべきです
    • こんな風にする感じですね
    • HTTP/1.1 200 OK
    • Content-Security-Policy: frame-ancestors https://ext.example.org:8000
    • Content-Security-Policy: script-src 'self'
    • X-Frame-Options: ALLOW-FROM https://ext.example.org:8000
  • 認可サーバがフィッシングサイトにリダイレクトする
    • 前も出てきたかもしれませんが、正しくredirect_uriが設定されていたとしても攻撃者によってフィッシングサイトに誘導されてしまう可能性はあります。
    • 例えば、無効なスコープの値を指定することでフィッシングサイトへ誘導するケースや、有効出会っても攻撃者によってコントロールされたclient_id、redirect_uriを使った誘導(同意拒否をしても誘導される。他にもprompt=noneで誘導する)ケースがあげられています
    • 認可サーバでこれらを防ぐためにはprompt=noneのケースをのぞき、必要に応じてユーザ認証を行う必要があります
    • また、リスクに応じて追加のアクションを講じるのも一つの手段です
    • 基本的にredirect_uriが信頼できない状況ではリダイレクトするべきではありませんが、信頼できない場合にユーザがリダイレクトするかしないかの判断をするような実装を行なっても良い(MAY)ということです
  • ブラウザ内の通信フローに対する攻撃
    • 認証応答がリダイレクトではなくpostMessageなどで送信されるケースにおいて悪意のある通信先に対して通信が行われるケースがあります
    • 例えば、送信先の制限が不十分な実装をするケースなどが挙げられています。ワイルドカードで送信先が設定されていますね
    • window.opener.postMessage(
    •   {
    •     code: "ABC",
    •     state: "123"
    •   },
    •   "*" // any website in the opener window can receive the message
    • )
    • 他にも送信先のURIの検証が不十分で攻撃者の設定した値になってしまったり、送信元の検証が不十分なケースも想定されるのでURI検証やCSRF対策はしっかりとしておく必要があります
    • その意味で推奨される実装としては、
      • 明確なクライアントオリジンを示す
      • window.opener.postMessage(
      •   {
      •     code: "ABC",
      •     state: "123"
      •   },
      •   "https://client.example" // use explicit client origin
      • )
      • メッセージのバリデーションを行う
      • window.addEventListener("message", (e) => {
      •   // validate exact authorization server origin
      •   if (e.origin === "https://honest.as.example") {
      •     // process e.data.code and e.data.state
      •   }
      • })
    • といった実装が必要となります

ということで、ようやくこれで最後まで読みました。
実装する暇がなかなか取れませんが、徐々にやっていきたいと思います。

TBDのVerifiable Credentialsの説明資料が面白い

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

みなさん、TBDってご存知ですか?

https://www.tbd.website/

Twitterの共同創業者のジャック・ドーシーが創設したBlockの暗号資産部門からスタートしたプロジェクトでweb5(web2+3でweb5とのこと)を提唱しているチームです。

https://www.itmedia.co.jp/news/articles/2206/13/news071.html


DIDやVCをやっている人たちが一時期集まったチームでもあり、先日周南公立大学のデジタル学生証プロジェクトでも採用されたプラットフォームを提供していることでも話題になりました。

https://www.shunan-u.ac.jp/news/information/20240228-13942/

 

今日は、web5の細かい話をするわけではなく、このチームが書いている初学者向けのVerifiable Credentialsの解説記事が結構面白かったので紹介します。

https://dev.to/tbdevs/the-illustrated-beginners-guide-to-cryptographic-identity-verification-51f0

※実は、web5のイントロなどもしているシリーズ(全3回)の第2回なので、興味があれば第1回から読んでみると良いと思います。(改めて紹介するかもしれませんが、某X社がネタにされていて面白いです)


ではみていきます。最初からアメリカンな感じです。




第1回を読むとわかるのですが、主人公は某SNSの名称変更に伴い自分のユーザ名を奪われてしまったことからプライバシーとデータのポータビリティについて制御ができることの重要性に気がついてしまいます。

アプリの名前を変えるからあなたのユーザ名を変えるよ!との非情な通知

ポップコーンを食べながら彼氏に愚痴る主人公


そして彼らは旅行に行くわけですが、この辺りからVCが出てきます。


そして、なぜか身分証の話題になりますが、彼はスマホに入ってるから大丈夫!と宣言します。

携帯電話にWalletが入っているから大丈夫!TSAにこれを見せると通過できるよ!


でも、彼女は「ふーん」と塩対応です。

彼女は物理パスポートを使うので長蛇の列へ並びます。


でも主人公以外の3人(彼氏+友人カップル)はそんな彼女を置いてデジタル身分証明書が使えるレーンでスイスイと通過します。付き添ってあげるなり待ってあげるなりすればいいのに・・・



でも主人公も馬鹿ではないので、CLEARレーンに並んで少しでも早く追いつけるようにしようとします。

しかしそこでも事件が起きます。

「奥様、あなたはランダムな本人確認の対象に選ばれました。」

と言われてしまうのです。

そして彼女がパスポートを係員に渡すと、「ああ、私たちは誕生日が同じなんですね!」とか「出身地は美しい島ですよね〜」とか言われてしまいます。(こんな係員いるのかな?)


そして彼女はVCについて飛行機の中で調べ始めます。



調べた結果VCは「過剰な個人データを明らかにせずに、法定飲酒年齢に達していることを証明する必要があるとします。完全な ID を提示する代わりに、ベンダーに VC を提示することもできます。販売者は資格情報を年齢証明として認識し、引き換えにアルコールを提供します。」などのユースケースが出てくるわけです。


とここでこの記事は終わるわけですが、こんなシチュエーションある?と思いつつもデジタル身分証明書としての使い方、選択的開示によるプロイバシー保護についてなど簡易に説明してくれていて面白かったです。

日本でもこういうシナリオで解説書を書くともうちょっと広がるのかもしれませんね。





Microsoft Identity Manager向けコミュニティ製のPowerShell MAが更新されています

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

このブログを始めたことはMicrosoft Identity Manager(その頃はIdentity Lifecycle Managerでした。その後、Forefront Identity Manager〜Microsoft Identity Managerにリブランドされました。今でいうEntra ID Connectのベースになっているモジュールです)に関する記事をたくさん書いていたのですが、最近はめっきり触ることもなくなってきていました。

ただ、当時このプロダクトのMicrosoft MVPだったこともあり、当時の開発コミュニティの方々とはそれなりに繋がりが残っていたりします。今回のPowerShell MA(Management Agent)も当時のMVP仲間のSoren Granfeldtの作です。


今でこそ公式にPowerShell MAがありますが、当時は存在しておらず、イベント単位で自由にPowerShellのモジュールを呼び出せる彼のツールは衝撃的でした。なにしろそれまではC#で全部ロジックを書かなければならなかったので。。。

なお、ノンサポートですが工夫をすればEntra ID Connectにもこのモジュールは適用できるはずです(何年か前はできていた。最近は不明)。ロジックの自由度が格段に増すので魔改造派の方は試してみてください。

IIWの前日にパーソナルAIとVRMに関するイベントがあります

$
0
0

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

来月、恒例のIIW(Internet Identity Workshop)がマウンテンビューで開催されますが、前日にDoc SearlsのProject VRMがやっている「VRM Day」があります。(こちらも恒例)

※VRM: Vendor Relationship Management。CRM(Customer Relationship Management)がアテンション・エコノミー(関心の経済。ユーザの関心の分析からリコメンデーションなどOne to Oneマーケティングなどで経済活動を促進する)に対してインテンション・エコノミー(意思の経済。ユーザの意思を中心として経済活動。いわゆる自己主権にも綱がる)を標榜するもの。詳しくはDoc Searlsの著書「インテンション・エコノミー」を読むと良いと思います。


今回のテーマは「パーソナルAIとVRM」ということで非常に興味深いですね。

出典)ProjectVRM

いわゆるSiriやAlexaなどのパーソナルエージェントは私たちの代わりにデジタル空間で活動してくれる、というところにまでは至っていませんが、最近日本でも落合陽一さんが万博のパビリオンに出展すると発表した「Mirrored Body」など、デジタル空間上で信頼性を担保した上で自分の代理(コピーロボット的なイメージ?)として自律的に行動してくれる世の中になると世界は変わるのかな?と思わされます。

出典)サステナブルパビリオンのホームページ

落合さんもMirrored Bodyのコンセプトを語る際にVerifiable Credentialsの重要性について触れていた通り、デジタル空間上でのミラーが確かに私のミラーであることを示したり、データの出自を検証可能な形で提示できるようになっていかないといけないんだと思います。


と、ここまで書いておいてアレなんですが、VRM DayとOpenID Foundation Hybrid Workshopが日程かぶってるんですよね・・・。どっちも行きたいのですが。。


自己主権型IDとフェデレーション型IDに関する議論

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

今日はちょっと前の記事ですが、SSIとFederationについてHeather Flanaganさんが考えを書いているので紹介しようと思います。IDProや古くはKantaraやREFEDSなどで活動されている方ですね。しかしSSIがいいのかFederationがいいのかっていうのは色々なところで色々な人たちが議論をしていますが、明快な答えってないですよね。まぁそれもそのはず「時と場合による」話でしかないのと、一番大きいのが技術の話をしているのか思想の話をしているのか、みなさんMixしているのでクリアな議論にならないっていうのがあるからですね。

ということでちょっと見ていきましょう。
Federated Identity and SSI – YMMV

ご本人もYMMV(your mileage may vary)って書かれているように、「どう受け取るかはみなさん次第」ということです。

また冒頭にも記載されていますが、そんなに世の中単純じゃないので全てにフィットするものなんてないよね、ということを書かれています。
There is no “one size fits all,” though passionate proponents of various technologies may beg to differ. Alas, the world is not that simple:
そして、こうとも書かれています。
誰もが SSI という用語を好むわけではないことを認識しましょう。デジタルウォレットテクノロジーがこのカテゴリーに該当するかどうかは不明です。そうだと言う人もいれば、そうでない人もいます。 SSI の初期の支持者たちがほぼブロックチェーン技術だけに焦点を当てていたことに、すぐに嫌悪感を抱く人もいます。
すみません。技術としてブロックチェーンの良し悪しを述べるつもりはありませんが、私もSSIアレルギーっぽくなってしまってきているのはこの点なのかもしれません。

そして、色々な切り口でSSIとFederated Identityを比較していっています。

Dicsovery

まずはDiscoveryです。
どちらのモデルでも、個人がどの資格情報を使用するかを選択できる必要があります。これは、Federated Identity 内で、リストから ID プロバイダー (IdP) を選択するか、その ID をダイアログ ボックスに入力できることを意味します。 SSI モデルでは、これは、ローカルに保存された資格情報のリストから選択できること、または適切な資格情報を保存するために使用される適切なコンテナ (別名デジタル ウォレット) を選択できることを意味します。
FederatedモデルではいわゆるNASCAR問題を引き起こす原因でもあるのがこのDiscovery問題ですね。先日ポストしたWebfingerによるDiscoveryや学術機関で使っているDiscovery Service(DS)なんかはこの課題に対応するためのソリューションとして考えられましたが、まだ完全に解決しているとは言えない状態です。


共有される情報の制御

次に触れられているのがIdPとRPの間で共有される情報の制御に関する相違点です。
When talking about federated identity models, protocols like the Security Assertion Markup Language (SAML), OAuth, and OpenID Connect are what describe (and constrain) everything including the claims, the assertions used, the structure of the attributes shared, the way identity provider discovery is handled, and more. A great deal of control is given to both the RP and the IdP, and there is a coarse level of control for the individual (generally in the form of “you can either choose to log in or not, but you aren’t guaranteed control over what information is shared as a result”).

とあるようにやり取りされる情報の内容や構造についての制御の大半はIdPとRPが行うことになり、ユーザが制御できるのは「ログインするのか、しないのか?」程度になってしまいます。

その点、SSIのモデルではユーザによる選択(特にSD-JWTやmDLなどの選択的開示)が中心となっています。

(個人的な意見)これはどうなんだろうなぁ・・・。Federatedだからユーザに選択権がないっていうのは既存のIdPの実装の問題なんじゃないかな?とも思います。本来は属性の選択的開示をするように属性提供同意画面でオプトアウトできるようになっているべきだし、先ほどのNASCAR問題はあるものの使うクレデンシャル(あえてクレデンシャルと言いますが使うIdPのこと)も自分で選ぶことができるようにDiscoveryの設計をするのがRP側の仕事だったのでは?とも思います。これはSSIだったとしてもVerifierが何を求めるのか、Issuerが何を発行するのか、Walletがその情報をどう扱うのか、、など本当にユーザに制御権ってあるんでしょうかねぇ。。とは言え、Federatedモデルではそのあたりの実装有無をIdPやRPが握ってしまっているのは事実ではあります。

横道にそれました。

クロスデバイスのサポート

もう一つのSSIの特徴としてパスワードからの脱却の文脈を含めクロスデバイスの話が出てきます。

(たとえば) 複数のデバイスにパスワードを記憶したりコピーしたりする必要があるのではなく、1 台のモバイル デバイスに保存されている資格情報を、デスクトップやタブレットなどの別のデバイスの認証または認可プロセスで使用できます。

CIBAとかDevice Code Flowがあるじゃないか、とかパスキーでよくない?という話もありそうですが、まぁ確かに特徴の一つではあります。

一方で課題も

これ、本当に大切な問題だと思います。UXとプライバシー。

UX の課題は非常に重大です。 SSI モデルを前進させるために開発中のテクノロジーは、単なる ID をサポートするものではありません。また、支払いシステム、交通チケット、図書館カード、保険カード、ホテルのキー、車のキーなど、リストはさらに続きます。このモデルを、これらすべてのカードを物理的な財布に入れているのと似ていると比較することはできますが、カードが多すぎて、必要なときに適切なカードを見つけることができないという点が生じます

先ほどのNASCAR問題にも通じますが、これまでIdP側で発生していた問題が手元(Wallet)に移動してきただけです。

プライバシーの問題も重大です。

プライバシーへの配慮が使いやすさをさらに難しくしています。資格情報はデジタル ウォレットに保存されることが多く、そのウォレットはランダムなリクエストから資格情報を保護します。おそらく、物理的なウォレットが保持するカードと何の関係もないのと同じように、ウォレットは、保持する認証情報と何の関係も持つべきではありません。ここでの複雑さの可能性を最大限に高めるために、さまざまな認証情報を保持するウォレットが複数ある可能性があります。 

これ、本当に難しい問題でWallet提供者は、そのWalletの中にユーザが何を入れるのか?を把握できたらFederated時代のIdPによる行動把握の比較にならないくらいヤバい話になると思います。この辺りは特に政府が提供するWallet、なんて話も出ていますが十分すぎるくらいの透明性を持たせないといけないと思います。

Digital Identity Wallet(DIW)に関するPoC開発・調査について

https://trustedweb.go.jp/public-offering/2023/trusted_web2023_diw

さらに、どこまでユーザに責任を押し付けるのか、という問題もあります。

人々が正しい選択をする可能性は低いと想定し、さまざまな自由や技術革新を制限することで国民を守るパターナリスティックな国民国家に誰もが住みたいわけではない。とはいえ、その行動の影響が明らかかどうかにかかわらず、自分の行動に責任を個人に負わせる完全な自由主義的な環境での生活を誰もが望んでいるわけではありません。

この辺りは先日ポストした「自己主権型アイデンティティは本当か?情報銀行からの学びはあるのか?」にも書きましたが、本当の意味での情報銀行的な役割をWalletプロバイダが追うことになる日も来るのかもしれません。

https://idmlab.eidentity.jp/2024/03/blog-post_11.html


まとめ

結局結論なんて言うものは出ないわけですが、彼女の以下の3つの言葉が重要だっていうことです。

従来のフェデレーション ID モデルと新しい SSI アーキテクチャは相互に排他的ではありません。彼らはさまざまな問題を解決することだけに集中します。 

現在見られるテクノロジーは完全に完成したわけではなく、技術者が望むすべてを解決するにはまだ成長する必要があります。

これらのテクノロジーの開発と展開の指導に確実に貢献するために、ディスカッションに参加することです。 


これからもコントリビューションしていきましょう。

OpenID Providerを作る)そろそろログイン機構の実装を始める

$
0
0

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

最近Updateできていなかった自作OpenID Providerについて、そろそろログイン機構の実装戦略について考えてみたいと思います。

その前にこれまでのおさらいです。

その前にこれまでのおさらいです。


今回、最低限実装したい機構としては、

  1. CSRF対策を行う
  2. Passkeyで認証する
  3. セッション管理(認証セッションがなければ認証を求める)を行う
  4. 認証が終わったら元のURLへ戻す

くらいかな、と思います。


となると、骨組みとしてはこんな感じかと。(node.js + Express前提です)

  • 認証ミドルウェアの実装
    • 認証セッション確認
    • 認証セッションがあればnext()で呼び出し元へ
    • 認証セッションがなければ、
      • セッションに呼び出し元のURLを保存
      • セッションと紐づけた状態でCSRFチェックのトークン発行
      • ログイン画面へリダイレクト(CSRFトークンを埋め込む)※今回、認証方式はPasskeyのみを考えており、Passkeyの場合はChallengeの生成も行うので兼用しても良いのかも。この辺はritou先生がコメントしてくれるでしょう
  • ログイン画面の実装
    • 認証ミドルウェアから呼び出される
    • ログイン画面のレンダリング
    • PasskeyのブラウザAPIの実装
    • ブラウザAPI実行結果をPOSTする
  • ログイン結果検証APIの実装
    • ブラウザAPIの実行結果の検証(CSRF対策としてのChallengeの検証も含む)
    • 検証に成功したら認証セッション生成
    • セッションに保存してある呼び出し元のURLへ処理を戻す

ぼちぼち実装始めてますので、まとまったら投稿していきたいと思います。

では。

デジタル庁の認証アプリがやってこない?

$
0
0

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


以前、ブログにも書きましたがデジタル庁の認証アプリの件、読売新聞にも掲載されていますね。

国の個人認証アプリ 迷走…デジタル庁 構想・開発

https://www.yomiuri.co.jp/national/20240329-OYT1T50188/


以前のブログはこちら

デジタル認証アプリがやってくる(その後)

https://idmlab.eidentity.jp/2024/02/blog-post_24.html

デジタル認証アプリがやってくる

https://idmlab.eidentity.jp/2024/01/blog-post_28.html


読売新聞に戻りますが、この記事はDIW(Digital Identity Wallet)プロジェクトの会合でもご一緒させていただいている若江先生の記事です。

崎村さんもマイデータジャパンの帽子でコメントされていますね。

これでは国民がいつどんなオンラインサービスを使っているのか政府が網羅的に把握できるおそれがある。

こうした識別子は大量の情報の名寄せが可能でプライバシーの観点から十分な配慮が必要


まぁ、私も個人としてコメントはさせていただきましたが、諸々の懸念点について透明性が維持される仕組みができれば、個人的には便利になると思っているのでWelcomeですので、上記のようなコメントについての検討の結果がちゃんと公開されることに期待します。

記事には、

3月中に予定していた施工規則改正はいったん見合わせ、4月に予定されていたアプリのリリースも「数ヶ月遅れる可能性がある」

とありますので、引き続きウォッチが必要ですね! 

OpenID for Verifiable Credential IssuanceのImplementer's Draftが承認されました

$
0
0

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

無事に、ですね。

先日投票が開始されていたOpenID for Verifiable Credential IssuanceのImplementer's Draftですが、承認されました。

https://openid.net/implementers-draft-of-openid-for-verifiable-credential-issuance-approved/


投票率も規定の20%を超えていたようなので問題なく承認されています。

The voting results were:

Approve - 79 votes

Object - 2 votes

Abstain - 12 votes

Total votes: 93 (out of 321 members = 29% > 20% quorum requirement)


いよいよ本格的に実装が始まってくると思います。


CopilotにEntra IDのことを聞いてみた

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

今月からCopilot for Securityが正式ローンチということで盛り上がってますね。
Copilotはあまりウォッチしてこなかったので正直使い方を含めあまりわかっていませんが、取り急ぎセットアップはしてみました。(高いのですぐ消したけど)

ということでその記録です。

まずはこちらからセットアップを開始していきます。

管理権限のあるユーザでサインインするとセットアップが始まります。
必要な情報を入れていきます。
  • サブスクリプション
  • リソースグループ
  • 容量の名前
  • プロンプトの評価場所
  • 容量リージョン
  • ユニット数(1時間あたり4ドル/ユニット)
しかし高い!1ユニットだけでも月間2880ドル、1ドル=150円とすると432,000円です。まぁ、優秀な副操縦士(Copilot)がこの値段で雇えるならまあいいか、という話だとは思いますが個人課金のレベルではなさそうです。。

ちなみに、USリージョンを選んでセットアップをしていたのですが、一時的な問題なのかうまくセットアップが完了しませんでしたがUKを選んだらうまくいきました。

Copilotのリージョンとは関係なくデータはサブスクリプションの紐づいたリージョンに保存されるっぽいですね。

もう少しです。

設定が終わるとダッシュボードに遷移します。



まだあまり数はありませんがプロンプトライブラリも用意されています。


日本語で聞いてみると色々教えてくれます。

ちょっと難しい質問をしたらおかしな回答が返ってきたので英語でもう一度聞いてみましたが、やっぱりおかしな回答が返ってきました。
仲良くなるにはまだ時間がかかりそうです。
(課金が恐ろしいので消しちゃいましたが・・・)


ちなみに、別の方法でセットアップを行うこともできます。Azure PortalからCopilot for Securityのリソースを探して追加する方法です。先の方法はARMテンプレートを使ってセットアップしているだけなのでPortalでの方法とやっていることは変わりませんが。








政府とデジタルウォレットのあり方に関するOIXのレポートを読む(1)

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

政府とデジタルウォレットに関するOIX(Open Identity Exchange)のレポートをご存知でしょうか?昨年の秋口に出ているもので、簡単にいうと「政府が発行するクレデンシャルを政府が管理するウォレットに入れるのがいいのか、民間のウォレットにも入れていいのか」についての現状をまとめたレポートです。

Governments and Digital Wallets



ということで読んでいきます。
今回はエグゼクティブ・サマリー部分です。ここだけ読めば最低限の論点と結論はわかります。

ウォレット提供者の選択肢

冒頭の課題提起の部分にはこんなことが書いてあります。
Governments around the globe are tracking the evolution of digital wallets to try and determine how their citizens can use these to carry government issued credentials that enable a user to prove who they are and what they are eligible to do.
世界中の政府がデジタルウォレットの進化を追跡し、ユーザーが誰であり、何をする資格があるかを証明できる政府発行のクレデンシャルを携帯するために、国民がデジタルウォレットをどのように利用できるかを見極めようとしている。(Deeplによる機械翻訳)
最近はEUのEUDIWやUSのmDLの話は日本でもしばしば参照されています。
ただ、色々なアプローチのパターンがあるのも事実です。上記に続く文でも「EUは積極的で共通のフレームワークで認定されたウォレットを使うことを要求している。一方でUSでは各州が発行するモバイル運転免許証を企業が提供しているウォレットに格納する、というアプローチをとっている」という主旨のことが記載されています。

確かに誰がウォレットを提供すべきなのか?は大きなテーマですね。政府が直接発行するべきなのか、GoogleやAppleなどスマートフォンを提供しているベンダが提供するべきなのか、さらには特定の業界や用途に特化したウォレットがいいのか汎用的なものが良いのか、、など考えることは多いとレポートにも記載されています。

そして、このレポートでは「政府が国民に対して直接ウォレットを提供するべきなのかどうか?」にフォーカスすることが宣言されています。

政府が提供するウォレットと格納する資格情報

政府によるウォレット提供の是非を考える上ではウォレット上にどのような資格情報を格納することを想定するのか?が大切な考慮点となります。レポートでは、以下の4つのパターンでメリット・デメリットを含め比較をしていくことになります。
  1. 政府が発行したクレデンシャルのみを格納するためのウォレットを政府が提供する
  2. 政府および民間が発行したクレデンシャルを格納するためのウォレットを政府が提供する
  3. 上記1に加えて認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する
  4. 政府はウォレットを提供せず、認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する
本レポートでは4番目のオプションである「政府はウォレットを提供せず、認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する」ことが望ましい、と結論づけています。

理由としては以下が挙げられています。
  • 政府がウォレットの開発や運用にかかる費用を負担しなくて良い
  • 利用者から見て国による監視を心配されない
  • 使い慣れた民間のウォレットに民間のクレデンシャルと政府発行のクレデンシャルの両方を格納することができる
  • クレデンシャルを要求する事業者やサービスが民間と政府発行の両方のクレデンシャルを複雑なオペレーション(ウォレットの切り替えなど)なしに要求・提示を受けることができる
2番目の点はまさにデジタル庁の認証アプリで議論になっているポイントの一つですね・・・
参考)

そして、この「認定」こそが政府による集権とテックジャイアンとによる独占・集権のバランスを取るためのキーポイントになっている、という主旨のことも語られています。カナダではDIAC(Digital ID & Authentication Council of Canada)のPCTF(Pan-Canadian Trust Framework)によるウォレットの認定プログラムが行われていたり、EUでも適合性プロファイルが発行されていたりするのもその実例だと書かれています。

次回以降で上記の4つのモデルについて詳細を確認していきたいと思います。















政府とデジタルウォレットのあり方に関するOIXのレポートを読む(2)

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

前回サマリーを紹介したOIX(Open Identity Exchange)の政府とウォレットの関係性に関するレポートについて、少しずつ深掘りしていきたいと思います。

今回はレポート内で比較される以下の4つのモデルのうちの一つ目についてです。
  1. 政府が発行したクレデンシャルのみを格納するためのウォレットを政府が提供する
  2. 政府および民間が発行したクレデンシャルを格納するためのウォレットを政府が提供する
  3. 上記1に加えて認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する
  4. 政府はウォレットを提供せず、認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する



このモデルでは政府が提供するウォレットにのみ政府が発行したクレデンシャル(国民ID、パスポート、運転免許証など)が格納され、企業が発行するクレデンシャル(銀行口座や航空機のチケット、ポイントカードなど)は企業が発行したウォレットに格納されます。

また、特徴的なのは政府が発行したウォレットには「トラスト・アンカー」となる政府が発行したクレデンシャル(一般には国民ID)が格納され、その他のクレデンシャルを発行する際の本人確認に利用される点です。EUDIWにおいてはPID(Personal Identity Data)と言われるものですね。

なお、先に書いた通りユーザは最低2種類のウォレット(政府発行のクレデンシャルを格納する政府発行のウォレットと民間発行のクレデンシャルを格納する民間発行のウォレット)を持つことになります。シナリオによっては民間企業で政府発行のクレデンシャルを提示したり、民間発行のクレデンシャルを提示したりするので、利用者は場合によって利用するウォレットを切り替えるなどの複雑な操作を強いられることになります。(ただでさえ複数のウォレットが同一スマホに入っているとカスタムURLスキームがかぶる問題があるので、実用的ではなさそうです)

それぞれの関係者にとっての利点・欠点は以下の通りです。
政府の目線
  • 利点:政府発行のクレデンシャルを政府発行のウォレットの中でコントールできる
  • 欠点:政府自身がウォレットの発行や管理のためのコストを負担することになる
ユーザの目線
  • 利点:政府発行の信頼できるウォレットを利用できる
  • 欠点:
    • 政府がどこでクレデンシャルを提示したかなどのトラッキングの心配がある
    • 複数のウォレットを持つ必要がある
    • 提示する際に複雑な操作を行う必要がある
リライングパーティ(提示先)の目線
  • 利点:政府発行のクレデンシャルを信頼しやすい(信頼できる特定のウォレットにのみ格納されるため)
  • 欠点:
    • 複数のウォレットを利用することになるので複雑な操作が必要
    • ユーザ体験が酷い

ユーザ目線の欠点の1点目に記載されているのはまさにデジタル庁の認証アプリの際に出てきた話ですね。

今回はここまでです。引き続き別の構成についても見ていきたいと思います。


政府とデジタルウォレットのあり方に関するOIXのレポートを読む(3)

$
0
0

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

前回、前々回と見てきたOIX(Open Identity Exchange)のレポートを今回も見ていきたいと思います。

これまでのおさらいはこちらです。


今回は2つ目のパターンについて見ていきます。

  1. 政府が発行したクレデンシャルのみを格納するためのウォレットを政府が提供する
  2. 政府および民間が発行したクレデンシャルを格納するためのウォレットを政府が提供する
  3. 上記1に加えて認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する
  4. 政府はウォレットを提供せず、認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する



このモデルでは前回と同様に「トラスト・アンカー」となる政府発行のクレデンシャルを同じく政府発行のウォレットに入れるのに加えて企業等の発行するクレデンシャルも政府発行のウォレットに保存できるようにしましょう、という話です。しかしながら前回と同じく企業の発行するウォレットに政府の発行するクレデンシャルを保存することは許可しているわけではありません。民間企業は政府が発行したクレデンシャルを本人確認等のために受け入れることもできますし、逆に政府が民間企業の発行したクレデンシャルを受け入れることも可能となります。(この場合はおそらく政府発行のウォレットを使うと思われますが)

レポートではこのモデルの課題として以下を挙げています。

  1. 政府が政府のウォレットにすべての民間企業のクレデンシャルを保持することを認めない場合、結局ユーザは民間企業のウォレットも持つことになる
  2. プライバシーに関する懸念により、政府がどれだけ保証をしたとしても、ユーザは政府のウォレットに民間企業のクレデンシャルを保持することに抵抗を感じる可能性がある。例えば、銀行の詳細情報、旅行の詳細情報、口座へのアクセス情報など、ユーザが政府に渡したくない情報は存在している
  3. 政府は、民間企業によって発行されたクレデンシャルを管理しなければならず、セキュリティの観点からウォレットの運用コストが高くなる。民間企業に存在するすべての種類のクレデンシャルをサポートするのはキリがなくコストを政府が企業に請求しない限り実質運用は不可能である。そうなると結局政府のウォレットはよくあるクレデンシャルだけをサポートするにとどまる可能性が高い

前回と同様に各視点から見た利点・欠点は以下の通りとなります。
政府の目線
  • 利点:政府発行のクレデンシャルを政府発行のウォレットの中でコントールできる
  • 欠点:
    • 政府自身がウォレットの発行や管理のためのコストを負担することになる
    • 政府が民間クレデンシャルへアクセスすることをユーザの懸念
    • 要求されるセキュリティの複雑化
ユーザの目線
  • 利点:
    • 政府発行の信頼できるウォレットを利用できる
    • 政府発行のウォレットをいろいろなところで利用できる可能性がある
  • 欠点:
    • まだまだ複数のウォレットを利用せざるを得ない可能性が高い
    • 提示する際に複雑な操作を行う必要がある
    • 政府がどこでクレデンシャルを提示したかなどのトラッキングの心配がある
    • 政府が民間のクレデンシャルを政府発行のウォレットに入れることには消極的
リライングパーティ(提示先)の目線
  • 利点:
    • 政府発行のクレデンシャルを信頼しやすい(信頼できる特定のウォレットにのみ格納されるため)
    • 政府発行のウォレットをいろいろなところで利用できる可能性がある
  • 欠点:
    • 複数のウォレットを利用することになるので複雑な操作が必要でユーザ体験が悪い
    • 複数の複雑なインタラクションに対応するための実装・運用が高コストになる

結局複数のウォレットを持たざるを得ないのは嫌ですねぇ。。前回も少し触れましたがカスタムURLスキーム問題も発生しますし。

ということで引き続き見ていきたいと思います。



政府とデジタルウォレットのあり方に関するOIXのレポートを読む(4)

$
0
0

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

前回、前々回と見てきたOIX(Open Identity Exchange)のレポートを今回も見ていきたいと思います。

これまでのおさらいはこちらです。


今回は3つ目のパターンについて見ていきます。

  1. 政府が発行したクレデンシャルのみを格納するためのウォレットを政府が提供する
  2. 政府および民間が発行したクレデンシャルを格納するためのウォレットを政府が提供する
  3. 上記1に加えて認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する
  4. 政府はウォレットを提供せず、認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する


このモデルでは政府が提供するウォレットに民間企業のクレデンシャルを格納しない代わりに、政府のトラストフレームワークに適合する民間のウォレットに政府発行のクレデンシャルを格納することを許可しています。
このことにより、ユーザは政府が民間のクレデンシャルに関するコントロールをするかもしれないという懸念を避けることができますし、民間のウォレットを使って政府が発行したクレデンシャルと民間が発行したクレデンシャルの両方を提示することができるのでオペレーションを簡素化することができます。

前回と同様に各視点から見た利点・欠点は以下の通りとなります。
政府の目線
  • 利点:
    • 政府発行のクレデンシャルが民間のウォレットに格納されるが承認プロセスを持って管理することができる
    • 政府が民間のクレデンシャルにアクセスできるのでは、という不安を取り除くことができる
    • データそのものではなく、データを扱う方法に関する制御を行うことができる(要するにトラストフレームワーク)
  • 欠点:
    • 政府自身がウォレットの発行や管理のためのコストを負担することになる
    • 政府が発行したクレデンシャルを完全には管理できなくなる(民間ウォレットに格納されたものは管理ができない)
ユーザの目線
  • 利点:
    • 政府が認定した民間機関の発行の信頼できるウォレットを利用できる
    • 政府がどこでクレデンシャルを提示したかなどのトラッキングの心配は減る
    • 複数ウォレットを使い分ける必要が減るので、民間のウォレットの利用を促進できる
  • 欠点:
    • 政府のサービスを利用する際は政府の提供するウォレットを利用する必要があることがある
リライングパーティ(提示先)の目線
  • 利点:
    • 政府が認定した民間機関の発行の信頼できるウォレットを利用できる
    • 民間のウォレットが(民間・政府の)全てのクレデンシャルにアクセスできる可能性があり、操作がシンプルになる可能性がある
  • 欠点:
    • 政府のクレデンシャルを利用する際に民間のウォレットベンダから課金される可能性がある

残すはあと1パターン+まとめです。
引き続き見ていきます、

政府とデジタルウォレットのあり方に関するOIXのレポートを読む(5)

$
0
0

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

ここまで見てきたOIX(Open Identity Exchange)のレポートも今回+まとめ(つまりあと一回)で終わりです。

これまでのおさらいはこちらです。


今回は最後の4つ目のパターンについて見ていきます。エグゼクティブサマリーを見ると、この4つ目が本命という形になっています。

  1. 政府が発行したクレデンシャルのみを格納するためのウォレットを政府が提供する
  2. 政府および民間が発行したクレデンシャルを格納するためのウォレットを政府が提供する
  3. 上記1に加えて認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する
  4. 政府はウォレットを提供せず、認定された民間企業が提供するウォレットに政府が発行したクレデンシャルを格納することを許可する




このモデルは非常にシンプルで政府はウォレットを提供しません。その代わりにTrust Frameworkを定義し、政府に認定されたウォレットに政府が発行するクレデンシャルを格納できるようにしています。結果としてユーザは政府が発行したクレデンシャルでも民間が発行したクレデンシャルでも認定された民間ウォレットに格納することができるようになります。複数のウオレットを使い分ける必要もなく、とてもシンプルなモデルとなっていますね。

前回と同様に各視点から見た利点・欠点は以下の通りとなります。
政府の目線
  • 利点:
    • 政府発行のクレデンシャルが民間のウォレットに格納されるが承認プロセスを持って管理することができる
    • 政府が民間のクレデンシャルにアクセスできるのでは、という不安を取り除くことができる
    • データそのものではなく、データを扱う方法に関する制御を行うことができる(要するにトラストフレームワーク)
    • ウォレットを構築・維持するためのコストが不要
  • 欠点:
    • 政府が発行したクレデンシャルを完全には管理できなくなる(民間ウォレットに格納されたものは管理ができない)
ユーザの目線
  • 利点:
    • 政府が認定した民間機関の発行の信頼できるウォレットを利用できる
    • 民間のウォレットの利用用途が増え、利便性が増すことが期待できる
    • 政府がどこでクレデンシャルを提示したかなどのトラッキングの心配は減る
    • 複数ウォレットを使い分ける必要がなくなる
    • 最も良いユーザ体験を提供できる
  • 欠点:
    • 特になし
リライングパーティ(提示先)の目線
  • 利点:
    • 政府が認定した民間機関の発行の信頼できるウォレットを利用できる
    • 民間のウォレットが(民間・政府の)全てのクレデンシャルにアクセスできる可能性があり、操作がシンプルになる可能性がある
  • 欠点:
    • 政府のクレデンシャルを利用する際に民間のウォレットベンダから課金される可能性がある


ここまでで各パターンの比較は終了です。

次回は最後のまとめと推奨事項について見ていきたいと思います。


Viewing all 769 articles
Browse latest View live