タグ

ブックマーク / zenn.dev/ritou (8)

  • デジタル認証アプリとのID連携で使われている標準化仕様と勘所

    ritou です。 みんなが待っていたデジタル認証アプリの情報が公開されました。 開発者向けのガイドライン、APIリファレンスなどのドキュメントも公開されています。 今回は開発者視点でどんな作りになっていて、利用するために理解が必要となる標準化仕様はどのあたりなのかを取り上げます。ちょっとOIDCのRPやOAuthのClient実装経験のある開発者向け、ぐらいの内容です。 概要 公開された情報からすると デジタル認証アプリサービス(アプリ+バックエンド)はマイナンバーカードを用いた当人認証を実施 現在は都度マイナンバーカードを利用する必要がありますが、いずれはスマホに保存されたカード情報を使ってもっと楽になりそう ID連携のIdentityプロバイダとして認証イベント情報、基4情報といった属性情報を民間/行政サービスに提供 民間/行政サービスは認証イベント情報に含まれるユーザー識別子を利

    デジタル認証アプリとのID連携で使われている標準化仕様と勘所
  • パスキー時代の"認証要素"の考え方 ~単一要素の組み合わせ、おまとめMFAと同期~

    ritouです。 前回は、パスキーやパスワードマネージャーを使う時の認証要素について触れました。 今回は、 同じ要素の認証を重ねる意味 同一端末やパスワードマネージャーだけで完結するMFA あるアカウントに紐づけられて同期されるクレデンシャル管理 についての 基的な整理 をします。 前回に続き、書いていることは無難な内容だと思います。 (長いので先に)まとめ 単一要素を重ねる意味について、要素の種類によっては有効な場合もある SYK を重ねるケースは決済などでまだ見られるが今後は淘汰されていくのでは? SYH の場合、管理デバイスを分離することで安全性を上げられる。ただし手間は増えるしフィッシング耐性は別途考慮する必要あり。 SYA を重ねる=単一SYAの精度を上げるのと同じ扱いになりそう(顔だけ、指紋だけ -> 顔 + 指紋など) 同一端末やパスワードマネージャー内で完結するMFAやプ

    パスキー時代の"認証要素"の考え方 ~単一要素の組み合わせ、おまとめMFAと同期~
  • OAuth 2.0 で有効期限がない(ずっと先の) Refresh Token の扱いについて

    ritouです。 今日は OAuth 2.0 の話題で少し頭の体操をしましょう。 いきなりまとめ 今回は OAuth 2.0 の Refresh Token を用いて非同期の処理を実装するケースはよくある "Refresh Tokenの有効期限がない=無効化されない" という前提の設計を見かけるが、よくないと思う 無限に有効な Refresh Token が必要になりそうな機能は Client Credentials Grant に持っていくのも一つの手では みたいな話をします。 OAuth 2.0 の Refresh Token 仕様の参照とかはめんどいのでざっくりまとめると Access Token を更新するために利用されるトークン Resource Owner が介入しない非同期なタイミングでも利用される場合がある 有効期限切れや AuthZ Server / Resource O

    OAuth 2.0 で有効期限がない(ずっと先の) Refresh Token の扱いについて
  • 2022年5月末に利用できなくなる「ID/パスワードのみのGoogleアカウントへのログイン」とは何か

    こんにちは、ritouです。 昨日、こんなTweetをしました。 これは何かという話です。 いきなりまとめ Googleへのログインの話 ではない カレンダーやメールなど古からのプロトコルでは パスワード認証を前提としたものがある それが OAuthに置き換わる 感じ PIM系プロトコルとパスワード認証(認可?) このネタどこかに書いた気がするな...ってので振り返ると、メールについてこの前記事書いてました。 今回も同じ話ですね。一部を除いてこれのリミットが来たってところでしょう。 OIDCじゃないのか?というところは、カレンダーやメール、アドレスブック情報へのアクセスが目的なのでやってることはリソースアクセス、なのでOAuth 2.0すね。 校長「GoogleがPIM系のパスワード認証を駆逐し始めるまでに12年かかりました。」

    2022年5月末に利用できなくなる「ID/パスワードのみのGoogleアカウントへのログイン」とは何か
  • JWTの無効化実装例

    こんばんは、ritou です。 今日は JWTの無効化の方法はいっぱいあるよ って話を書きます。 単体での無効化(jti, 文字列全体のハッシュ) これが最も一般的な JWT無効化の方法 と言えるかもしれません。 ちょっと前に話題になった「Stateless」なユースケースにおける無効化できないみたいな話に絡むところでしょう。 The "jti" (JWT ID) claim provides a unique identifier for the JWT. 例えば失効対象の jti のリストを管理することで無効化判定ができるでしょう。 有効期限を持つかどうかにより対象の jti をいつまで保持するか、などの細かい要件は変わります。 これ以外にも、JWTに含まれる claim を利用した検証 ってのは 無効化管理/判定 をしていると言いかえることもできます。 時刻での無効化(iat, ex

    JWTの無効化実装例
  • "JWT=ステートレス"から一歩踏み出すための考え方

    おはようございます、ritouです。 この話に乗っかっていきます。 3行で ログアウト時にJWTを無効化できない実装は今後脆弱性診断で「OWASP Top 10 2021違反」と指摘されるようになりそう(今も個別にされてるかもしれないけど) JWTは単純なフォーマットなので、ステートレスなセッション管理においてログアウトしたときに文字列自体を無効化できない件は独自エンコード方式(一般的にフレームワークのCookieストアと呼ばれているもの)でも起こり得る 「セッションID vs JWTで内包」 以外にも 「セッションIDをJWTに内包」もあり得る。既存の機能を残しつつ「JWTで武装」する選択肢も考えてみてはどうか。 ステートレスなセッション管理でログアウトの際に文字列自体を無効化できない問題 これは前から言われていますし、駆け出し何とか勢のQiita記事に書かれるぐらいには一般的です。 2

    "JWT=ステートレス"から一歩踏み出すための考え方
  • PKI初心者/入門者におすすめの書籍や記事

    私は丸投げしただけですが、詳しい方に以下のTweetのリプライで教えていただいたのでスクラップとして残しておきます。 みんなでPKIに詳しくなろう!

    PKI初心者/入門者におすすめの書籍や記事
  • パスワードレスな認証方式やアカウントリカバリーについての振り返り2020

    ritouです。 Digital Identity技術勉強会 #iddance Advent Calendar 2020 19日目の投稿です。 急に穴が空いたのでアカウントリカバリーとかの話でリカバリーしましょう。 今年は認証やら人確認などが騒がしい年でありました。 大きな問題の話はおいといて、自分のブログ記事に書いたぐらいの話を用いて振り返ります。 1. 一般的なパスワード認証 - パスワード = メール/SMSを用いたパスワードレス認証? bosyuがTwitter/Facebookのソーシャルログインに加え、メールでリンクや認証コード的な文字列を送信、それを検証することでログイン状態とするパスワードレスな認証機能を実装されていました。 bosyuが実装したメールアドレスでの登録/ログイン機能とは!? - r-weblife (追記: ころちゃん氏が関連する記事を書いてました。パスワ

    パスワードレスな認証方式やアカウントリカバリーについての振り返り2020
  • 1