ritouのブックマーク (75)

  • 総務省 | 安全なパスワードの設定・管理 | 国民のためのサイバーセキュリティサイト

    安全なパスワードの設定・管理 企業・組織におけるパスワードは、ユーザ名と組み合わせることで企業・組織内の情報資産へのアクセスの可否を決める重要なものです。パスワードの重要性を再認識して、適切なパスワード管理を心がけましょう。 他人に自分のユーザアカウントを不正に利用されないようにするには、推測されにくい安全なパスワードを作成し、他人の目に触れないよう適切な方法で保管することが大切です。 安全なパスワードの設定 安全なパスワードとは、他人に推測されにくく、ツールなどの機械的な処理で割り出しにくいものを言います。 理想的には、ある程度長いランダムな英数字の並びが好ましいですが、覚えなければならないパスワードの場合は、英語でも日語(ローマ字)でもよいので無関係な(文章にならない)複数の単語をつなげたり、その間に数字列を挟んだりしたものであれば、推測されにくく、覚えやすいパスワードを作ることがで

    総務省 | 安全なパスワードの設定・管理 | 国民のためのサイバーセキュリティサイト
    ritou
    ritou 2024/05/26
    定期変更への言及も話題ですが、パスワードマネージャーへの言及はパスキーにも繋がる話なのでしっかり認識しましょう。 https://sizu.me/ritou/posts/f8iha2nhf3v8
  • パスワード不要の認証技術「パスキー」はパスワードよりもエクスペリエンスが悪いという批判

    FIDOアライアンスが仕様を策定した「パスキー」は、パスワードではなく生体情報を用いて認証する「FIDO 2.0」を「Webauthn」標準に基いて利用して得た資格認証情報をデバイス単位で管理運用する技術です。このパスキーが抱える問題点について、Webauthn標準に関わったエンジニアのFirstyearことウィリアム・ブラウン氏が自身のブログで解説しています。 Firstyear's blog-a-log https://fy.blackhats.net.au/blog/2024-04-26-passkeys-a-shattered-dream/ Webauthnがパスワードに代わる認証技術として大きな可能性を秘めていると考えていたブラウン氏は、2019年にオーストラリアからアメリカに渡り、友人と共にWebauthnのRust実装であるwebauthn-rsの開発を始めました。その過程で

    パスワード不要の認証技術「パスキー」はパスワードよりもエクスペリエンスが悪いという批判
    ritou
    ritou 2024/05/06
    挙げられた辛さがセキュリティキーの利用を前提としているところがポイント。パスワードマネージャーの進化系としてパスキーを見てみるとまた違う感覚を覚えるでしょう。 https://twitter.com/ritou/status/1787349400987308260
  • SSF/RISCのユースケースを身近なものとして捉えましょうというお話 - r-weblife

    ritouです。 「宣伝」2024/05/16(木)にOpenID TechNight vol.21 ~ Shared Signal Framework(SSF)+αの勉強会が開かれるようです。 openid.connpass.com そもそもSSFって知ってます?勉強会までにSSFについて少し予習しておきましょう。 SSFについて Tom Satoさんには1月のOpenID Summit Tokyo 2024にてSSFについて講演していただきました。 www.youtube.com また、昨年末のアドベントカレンダーでも記事を書いていただきました。 zenn.dev RISCとCAEPをざっくり整理すると、 RISC : アカウントに関するイベント送信を送信 (IdPでユーザーが退会した、BANされた、乗っ取られた、メアド変更した時などに連携しているサービスに通知) CAEP : セッシ

    SSF/RISCのユースケースを身近なものとして捉えましょうというお話 - r-weblife
    ritou
    ritou 2024/05/01
    もっとこのあたりに注目が集まってほしいところなんだけど地味なんよなぁ
  • パスワード認証を使いこなせないサービス、ユーザーに対してやるべき啓蒙|ritou

    いやいや"サーヒス"て。 昨年からパスキーが話題になっていますが、地主と小作人とばかりに、サービスが認証方式をサポートしなければユーザーはそれを利用できないわけです。 サービス側がパスキーにどう向き合うのか、についてはZennに記事を書きました。こっちはいいですよね? 書くのを忘れていたユーザー側ですが、これまでの啓蒙はこんな感じでした。 複雑で推測不可能(略...、使い回しをやめましょう : パスワード認証を正しく使え!いやそれができないからこうなっとるんや TOTPのような2FAが利用できるサービスでは利用しましょう : どうせ推測可能なパスワード使い回すんだろ。それなら別の認証方式で何とかしろや そして、パスキー対応サービスが出てきたらパスキー使えよというのが追加されましたnew!って感じですが、いきなりそう言われてもパスキーって何だよd何とかはくっそ評判悪いんだが大丈夫なのかこれっ

    パスワード認証を使いこなせないサービス、ユーザーに対してやるべき啓蒙|ritou
    ritou
    ritou 2024/04/26
    ユーザー視点だとパスキーってパスワードマネージャーの先にあるんよ
  • フルスクラッチして理解するOpenID Connect (4) stateとnonce編 - エムスリーテックブログ

    こんにちは。デジカルチームの末永(asmsuechan)です。この記事は「フルスクラッチして理解するOpenID Connect」の4記事目です。前回はこちら。 www.m3tech.blog 13 state の実装 14 nonce の実装 15 まとめ 16 参考 Wre're hiring! 今回は全4回中の第4回目です。 (1) 認可エンドポイント編 (2) トークンエンドポイント編 (3) JWT編 (4) stateとnonce編 13 state の実装 https://openid-foundation-japan.github.io/rfc6819.ja.html#anchor15 https://openid-foundation-japan.github.io/rfc6749.ja.html#CSRF state は OAuth 由来の仕様です。つまりアクセストーク

    フルスクラッチして理解するOpenID Connect (4) stateとnonce編 - エムスリーテックブログ
    ritou
    ritou 2024/04/23
    仕様上、stateはCSRF対策でありセッションで一意、nonceはリプレイ対策であり認可(認証)リクエスト毎に一意にするような定義であることを覚えておきましょう。
  • 身分証の検証を用いた身元確認/当人認証を意識してみよう

    (4/14 表記揺れなどのコメントいただいたので、少し修正、追記しました。) ritouです。 私のタイムラインによく出てくる、この辺りの話っていつになってもしっくりこない人が多いと思います。 OAuth認証👮 : アプリケーションがユーザー情報取得を提供するAPIを叩いて受け取ったユーザー識別子を使って新規登録やログインさせてはいけない。OIDCのIDTokenを使え ユーザーIDが取得できればログインさせていいのではないか IDTokenはユーザーIDを含むJWTだが、どうしてこれは良いのか デジタル庁が進めるマイナンバーカードを用いた個人向け認証アプリケーション(以下、認証スーパーアプリ)の用途 マイナンバーカードを用いた人確認は既にいくつかの民間サービスで使われているが、ログインに使えるとはどういう事なのか デジタル庁からは スマホ用電子証明書搭載サービス という物も出ているが

    身分証の検証を用いた身元確認/当人認証を意識してみよう
    ritou
    ritou 2024/04/13
    あんまりしっかり教えられないものの、詳しい人たちが意識してそうな話を書きました。
  • ID周りをやりたいエンジニアにすすめたい学習ステップ(2) : 複数アプリケーションが絡むID管理

    ritouです。 こちらの記事の続きです。 前回の記事の振り返り 3行でまとめると まずは単一アプリケーションのID管理について解像度を上げてみよう Webアプリケーションフレームワークを使って新規登録から退会までざっくり動作確認してから、色々いじったり調べてみるのが良いよ セキュリティ関連の機能とか、新規登録時の身元確認、ログイン方法を拡張してみよう といったところです。個人的にはこれは全エンジニア向けの研修であってもいいぐらいのものだと思います。 今回の内容 タイトルにある通り、複数のアプリケーションが関わる部分に入っていきましょう。 というか、OAuthとOIDCやりたいんですよね?え?SAML? まずはID連携のベーシックな部分に触れていきましょう。 プロトコルは混ざっちゃっていますが、順番としてはこんなのはどうでしょう。 OAuth 2.0のClientとしての機能を設計/実装す

    ID周りをやりたいエンジニアにすすめたい学習ステップ(2) : 複数アプリケーションが絡むID管理
    ritou
    ritou 2024/04/08
    段階を増やしてでも作業の差分を小さめにしつつ実際の業務に近いことをしながらID連携に慣れていきましょう。
  • 次世代Web認証「パスキー」 / mo-zatsudan-passkey

    モニクル社内3分LTで発表しました。技術職以外の人向けに話したので、抽象度高めにしてあります。

    次世代Web認証「パスキー」 / mo-zatsudan-passkey
    ritou
    ritou 2024/04/06
    Xで本スライドを見て感想など書きました。 https://twitter.com/ritou/status/1776422867326189574
  • ID周りをやりたいエンジニアにすすめたい学習ステップ(1) : 単一アプリケーションとID管理

    ritou です。 これについての話です。 この辺りずっとやってると「認証認可について詳しくなりたいです!」「OIDCに興味があります!」みたいなところから「何をやればいいですか!?」みたいなことを聞かれたりします。(やりたいことやればいいじゃんと思いつつ) 昔は 年に一回ぐらいIdPを作りましょう なんて言っていた時期がありますが、まぁそう簡単にできるものでもありません。ふじえさんの記事をdisっているわけではないですが、OIDCのところから始めても他にやることが多すぎて結構つらいのです。 何から始めたら良いか 現状のおすすめとしては、 Webアプリケーションフレームワークを使って単一アプリケーションを動かして、既存コードを追ったり拡張できるならやってみて色々細かい部分を理解するところから始めましょうというところです。 なんと、ひと昔前にQiitaに溢れたようなやり方ですが どのフレーム

    ID周りをやりたいエンジニアにすすめたい学習ステップ(1) : 単一アプリケーションとID管理
    ritou
    ritou 2024/04/04
    徳丸本と一緒、もしくはその前段階でID管理について触れておくぐらいは全エンジニア向けの研修としてもいいのではないかと思っていますが控えめな表現にしています。
  • フルスクラッチして理解するOpenID Connect (1) 認可エンドポイント編 - エムスリーテックブログ

    こんにちは。デジカルチームの末永(asmsuechan)です。 この記事では、OpenID Connect の ID Provider を標準ライブラリ縛りでフルスクラッチすることで OpenID Connect の仕様を理解することを目指します。実装言語は TypeScript です。 記事のボリュームを減らすため、OpenID Connect の全ての仕様を網羅した実装はせず、よく使われる一部の仕様のみをピックアップして実装します。この記事は全4回中の第1回となります。 なお、ここで実装する ID Provider は弊社内で使われているものではなく、筆者が趣味として作ったものです。ですので番環境で使用されることを想定したものではありません。なんなら私は ID Provider を運用する仕事もしておりません。 1 OAuth 2.0 と OpenID Connect 1.1 用語の

    フルスクラッチして理解するOpenID Connect (1) 認可エンドポイント編 - エムスリーテックブログ
    ritou
    ritou 2024/03/08
    実用的なIdP自作は結構大変なので、おすすめはWeb Application Frameworkで登録、ログイン、ログアウトとか一通りできるようになってからOIDC関連機能を追加する方法です。
  • 基本から理解するJWTとJWT認証の仕組み | 豆蔵デベロッパーサイト

    これは、豆蔵デベロッパーサイトアドベントカレンダー2022第8日目の記事です。 JSON Web Token(JWT)の単語を目にすることがよくあると思いますが、それと一緒に認証と認可や、RSAの署名や暗号化、そしてOpenIDConnectやOAuth2.0までと難しそうな用語とセットで説明されることも多いため、JWTって難しいなぁと思われがちです。しかし、JWT自体はシンプルで分かりやすいものです。そこで今回は素のJWTの説明からJWS、そしてJWT(JWS)を使った認証を段階的に説明していきます。 おな、この記事はJWT全体の仕組みや使い方の理解を目的としているため、以下の説明は行いません。 RSAやHMACなど暗号化やアルゴリズムの細かい説明 JWTを暗号化するJWEとJSONの暗号鍵表現のJWKについて OpenIDConnectとOAuth2.0について 記事は上記のような内容

    ritou
    ritou 2024/02/18
    この記事の認識の誤りについてXに投稿しました。参考になさってください。https://twitter.com/ritou/status/1759091756963152337
  • パスキー対応における2つの段階と必要な機能

    パスキー対応 という記事を見ると フィッシング耐性があるパスワードレスな世界が来る! と期待を抱き、冷静に考えて パスワードが残ってるうちはリスクは残ってるしフィッシングにもやられるし何にもかわらねぇじゃねーか と遠い目をしてしまう皆さん、こんにちは。 ritou です。 いきなり一気に進むわけがないだろ。ということで、認証を必要とするサービスもユーザーも、パスキーにより理想的な状態となるまでには段階というものがあり、 大人の階段と同じで やるべきことがあります。そのあたりを理解することで、一喜一憂せずにやっていきましょう。 2つの段階 既存の認証方式に加えてパスキーによる認証が利用可能 : 過渡期ってやつでしょうか。イマココ パスキーのみが利用可能 : 我々が望んでいる世界や! あとはその前の なんもしてない段階 です。 そんなに新しい話でもないでしょう。 段階を進めるために必要な対応

    パスキー対応における2つの段階と必要な機能
    ritou
    ritou 2024/01/28
    認証機能をいじったことあれば認識せざるを得ない話だけど、簡単に期待が現状を越えてしまいがちなので地道にやっていきましょう。
  • パスワードはおしまい! 認証はパスキーでやろう

    はじめに パスワードは古来より認証に良く使われる方法ですが、その運用の難しさからセキュリティの懸念とその対策としての運用の複雑さ(複雑で長い文字列、90日でパスワード変更など)が要求される大きく問題をもった仕組みです。 その根的な解決策としてFIDO Allianceを中心に推進されている 「パスワードレス」 が注目されています。これはPINや生体認証とデバイス認証を使ったMFAからなっており、フィッシングやパスワード流出に強い上に、ユーザも複雑なパスワードを覚えなくて良い、という大きなメリットがあります。最近はこの流れでPassKeyというものが登場し、Apple/MS/Googleのプラットフォーマが対応したことで、格運用に乗せれるフェーズになってきました。というわけで以下に解説動画を作ったのですが、動画中で時間の都合で触れきれなかったところや、JavaScriptによる実装のサン

    パスワードはおしまい! 認証はパスキーでやろう
    ritou
    ritou 2024/01/24
    細かい認識の違いをどこまで指摘すべきか迷うが、とりあえず読者に誤解が伝わってほしくない部分をコメント済み。
  • OpenID Connectの仕様を改めて読み返してみる -

    はじめに この記事は、「Digital Identity技術勉強会 #iddance Advent Calendar 2023」10日目の記事となります。 https://qiita.com/advent-calendar/2023/iddance OpenID Connect ムズカシイ… なんとなく、OpenID ConnectやOAuth2.0の仕様を勉強して、わからないなりに手を動かし、ググりまくり、実際にRP・OP側の実装経験らしきものを積んでくると お、これで自分も基的な所は理解できてきたかな? などと軽い気持ちで思い出した頃に、実装ミスや答えに窮する質問を受けて落ち込むもの。 自戒の意味も込めて、一般に言われていることが仕様上はどう記載されているかやTipsも含めて残していきたいと思います。 今回読んでいくのは「OpenID Connect Core 1.0」です。 はじめ

    OpenID Connectの仕様を改めて読み返してみる -
    ritou
    ritou 2023/12/11
  • メールアドレスをキーにしてID連携を行う設計の危うさ|ritou

    ritouです。このしずかなインターネットにおける初投稿です。 おそらく、このしずかなインターネットのID連携では次のような設計になっていま「した」。問い合わせをさせていただき、対応いただきました。 これまでもQiitaなどで同様の実装例が紹介されていた際にはコメントさせていただいていたものですので、アンチパターンの紹介記事として読んでいただければと思います。 「Googleアカウントでログイン」ではじめると、ユーザーが作成され、Googleから受け取ったメールアドレス([email protected])が設定される 次回から「Googleアカウントでログイン」をすると、Googleから受け取ったメールアドレスでユーザーを参照 試しに、次のような流れで動作を確認してみます。 「Googleアカウントでログイン」でアカウント作成([email protected]) 「メールアドレス変更」

    メールアドレスをキーにしてID連携を行う設計の危うさ|ritou
    ritou
    ritou 2023/11/18
    実際、海外のサービスはメアドをキーにして参照してるところも多く、何かあってもガン無視したり力業でサポートしたりします。が、そうしなくていいようにプラクティスがあるので意識していきましょうという話。
  • 書籍『パスキーのすすめ』でパスワードレスな認証の世界に飛び込んでみよう #技術書典 | DevelopersIO

    数年前から、パスワードを使用しない指紋認証などの生体認証に対応したサイトが増加し、手間のかかるパスワード入力なしで、指紋一つで簡単にログインできる機会が増えました。 そうこうしているうちに、最近では「パスキー」という新しいパスワードレス技術に関する言葉をよく目にするようになりました。 パスキーに対応したブラウザやパスワードマネージャーの開発が進み、Googleがデフォルトの認証方法としてパスキーを採用するなど、その普及が加速しています。 FIDOとWebAuthnとパスキーは何が違うの? もっとセキュアになったの? サイトによってUXが違うんだけど? このような質問に答えてくれるのが、2023年11月に開催された技術書典15で発行された『パスキーのすすめ』です。 著者はOAuthやOpenIDに関する複数の出版経験を持つAuth屋さんであり、監修を務めたのはID関連に深い洞察を持つrito

    書籍『パスキーのすすめ』でパスワードレスな認証の世界に飛び込んでみよう #技術書典 | DevelopersIO
    ritou
    ritou 2023/11/14
    > 任天堂のパスキー認証はユーザー体験が優れていると好評です。 そうなんだ?どういうところが?
  • パスワードレスな認証方式やアカウントリカバリーについての振り返り2020

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

    パスワードレスな認証方式やアカウントリカバリーについての振り返り2020
  • Webサービスで「ユーザーページに独自ドメインを登録できる」機能を提供するのがなぜ難しいか

    コンテンツ投稿系のWebサービスでは「ユーザーのページに好きな独自ドメインを登録できる」という機能をつけたくなることがあります。ユーザーからすると「コンテンツが自分自身の所有物であること」を感じやすいですし、コンテンツのポータビリティが上がりますし、とても夢がありますよね。僕もいつか実装してみたい機能のひとつです。 しかし、この機能を提供するには、以下のようなハードルがあります。 料金 ベンダーロックイン 複雑な実装(とくに認証) (1)の料金についてはデプロイ先によります。例えばVercelであればProプラン以上であれば無制限に独自ドメインを登録できます(Unlimited custom domains for all Pro teams)。 Google Cloudの場合にはCertificate Managerで独自ドメインごとの証明書を管理するのに「ひとつあたり○USD」という感

    Webサービスで「ユーザーページに独自ドメインを登録できる」機能を提供するのがなぜ難しいか
    ritou
    ritou 2022/10/19
    書き方の話だけど、はてなブログとかOIDCのSession Managementみたいなiframe方式、3rd party Cookieがブロックされたら動かないと思う > その<iframe>を経由してリクエストを送ることでサードパーティーCookieを回避しているのかな(?
  • Webサービスにおけるログイン機能の仕様とセキュリティ観点 - Flatt Security Blog

    はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの村上 @0x003f です。 稿では、Webアプリケーション上で実装される「ログイン機能」の実装パターンをいくつか示し、その「仕様の中で起きうる脆弱性」とその対策について解説していきます。 「ログイン機能」はToB、ToC問わず多くのWebアプリケーションで実装されている機能で、XSSやSQL Injection、Session Fixationといったような典型的な脆弱性の観点については、なんらかの解説を見たことのある方も多いと思います。 しかし、「仕様の脆弱性」というのはあまり多く語られていない印象です。今回はそのようなタイプの脆弱性についての解説を行います。なお、IDaaSを用いずに自前でログイン機能を実装しているケースを複数パターン想定しています。 はじめに ログイン機能の仕様パターンとセキュリティ

    Webサービスにおけるログイン機能の仕様とセキュリティ観点 - Flatt Security Blog
    ritou
    ritou 2022/01/25
    定番のフローになるには何らかの歴史がある。他の認証方式の選択肢がなかった、離脱対策で自サービスのIDよりもEmail/SMS番号で識別とか、オートコンプリートなど。もしこの辺りに興味があるなら、おすすめの勉強会があ
  • ID連携の標準化仕様紹介とセキュアな実装のためのアプローチ ~ 2021 - r-weblife

    おはようございます ritou です。 久々に「解説付きスライド全公開」的なやつをやります。 先月、チーム内でID連携のための標準化仕様に関する勉強会(私が一方的に話す会)を行いました。 が、実際はだいぶグダグダになってしまい、これはその後色々付け足してるうちに別物になってしまった資料です。 内容としては、ID連携のための標準化仕様にどのようなものがあるかを知ってもらうための「入門編」のような立ち位置で作りました。 OpenID Connect(やSAMLのような) ID連携のための標準化仕様を紹介しようと思うと、ついつい個別にシーケンスやリクエスト/レスポンスの説明を始めがちですが、初学者が気になるのはそんな細けぇことではないでしょう。 まずは「この仕様で何ができるようになるのだろう」「この仕様では何を実現したいんだろう」と言うところから理解していくのが良いのではないでしょうか。 そこで

    ID連携の標準化仕様紹介とセキュアな実装のためのアプローチ ~ 2021 - r-weblife
    ritou
    ritou 2021/09/05
    これはまだ入門編な!