はてなアカウント基盤 State of the Union
by
cockscomb
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
はてなアカウント基盤 State of the Union id:cockscomb 2026/06/30 Hatena Engineer Seminar 1
Slide 2
Slide 2 text
id:cockscomb 加藤 尋樹 チーフエンジニア SPFのテックリード/サブマネージャー 勤続13年 2
Slide 3
Slide 3 text
サービスプラットフォームチーム 略称 — SPF はてなサービスの基盤を司るチーム 3
Slide 4
Slide 4 text
はてなアカウント基盤 State of the Union アカウント基盤についての現況をお話しします 4
Slide 5
Slide 5 text
5 accounts.hatena.ne.jp/login
Slide 6
Slide 6 text
はてなのログイン はてなID+パスワード(+TOTP) パスキー Apple/Google/Xでログイン 6
Slide 7
Slide 7 text
パスキーと多要素認証に対応 はてなへのログインがパスキーと多要素認証に 対応し、よりセキュアになりました 多要素認証はTOTP (Time-based One-Time Password) 7
Slide 8
Slide 8 text
ログインフローを変えるには スマートフォンアプリでもログインしていた ネイティブアプリ初期の意思決定が見直されて いなかった 8
Slide 9
Slide 9 text
認証と認可 認証 向こう側にいるのは誰か確かめる 認可 クライアントに何を許すか決める 9
Slide 10
Slide 10 text
最高のアカウント基盤にしたい 「当たり前」を満たしたい サービスを豊かにする強靭なアカウント基盤 10
Slide 11
Slide 11 text
hatenaid 11
Slide 12
Slide 12 text
アカウント基盤の再構築 「hatenaid」プロジェクト Perl→Go 認証と認可の整理 将来にわたる改善のためのヘッドルームの確保 12
Slide 13
Slide 13 text
標準に倣う ログインAPIを発明しない ネイティブアプリが使うのは認可 OAuth 2/OIDCの仕様に倣う コード上でもOAuth 2の概念が一級市民 13
Slide 14
Slide 14 text
OAuth 2の認可サーバーに 認可サーバー アクセストークンを発行する側 リソースサーバー アクセストークンを受け取る側 14
Slide 15
Slide 15 text
OAuth 2の仕様に倣う、とは OAuth 2に関連するRFCはたくさんある! RFC 6749 - The OAuth 2.0 Authorization Framework OAuth 2.0の中心。これは当然として draft-ietf-oauth-v2-1-15 OAuth 2.1のdraftも参照 15
Slide 16
Slide 16 text
アクセストークン RFC 9068 - JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens JWT形式(ステートレスではない) RFC 7009 - OAuth 2.0 Token Revocation Revokeエンドポイントもある 16
Slide 17
Slide 17 text
アクセストークン RFC 7662 - OAuth 2.0 Token Introspection リソースサーバーはIntrospectionエンドポイ ントを呼び出して検証する 17
Slide 18
Slide 18 text
認可サーバーのメタデータ RFC 8414 - OAuth 2.0 Authorization Server Metadata accounts.hatena.ne.jp/.well-known/oauth -authorization-server (利用は今の所ご遠慮ください) 18
Slide 19
Slide 19 text
ネイティブアプリ RFC 8252 - OAuth 2.0 for Native Apps Webベース (ASWebAuthenticationSession/Custom Tabs) PKCE AppAuthライブラリ 19
Slide 20
Slide 20 text
ネイティブアプリOAuth 2化 アカウント基盤の更新 Web APIのリソースサーバー化 ネイティブアプリ向け社内SDKの提供 移行完了 20
Slide 21
Slide 21 text
hatenaidローンチ 認証・認可の基盤として 多要素認証・パスキー導入の準備ができた 21
Slide 22
Slide 22 text
多要素認証とパスキーについて考える 22 Something You Know Something You Have Something You Are パスワード ○ TOTP ○ パスキー ? ○ ?
Slide 23
Slide 23 text
多要素認証とパスキーについて考える リファレンスを頼る NIST SP 800-63 Digital Identity Guidelines 仕様決定時の参考にしている パスキーの安全性について - cockscomblog? 23
Slide 24
Slide 24 text
多要素認証とパスキーについて考える リファレンスを頼る パスキーのユーザー ジャーニー | Passkeys | Google for Developers 24
Slide 25
Slide 25 text
Conditional UI 25
Slide 26
Slide 26 text
多要素認証とパスキー はてなへのログインがパスキーと多要素認証に 対応し、よりセキュアになりました 同時リリース パスキーを推し出す形に 利便性やフィッシング耐性を含めパスキー推奨 26
Slide 27
Slide 27 text
パスキーの新しい仕様に追従 Conditional Create (Automatic Passkey Upgrade) はてなへのログインにパスキーへの自動アップ グレードを導入しました Signal API 27
Slide 28
Slide 28 text
サービス開発を楽にする 新しいラボサービスの認証にhatenaidのOIDC ラボサービスのアプリにもOAuth 2を提供 28
Slide 29
Slide 29 text
時代に合わせたアカウント基盤 アカウント基盤にも変化が求められる 新しい標準への対応 より便利でより安全な仕組み 29
Slide 30
Slide 30 text
将来の変化に向けて AIエージェントの時代になってアカウント基盤 に求められる機能 Authorization - Model Context Protocol MCPのHTTP-based transportにおける認可 30
Slide 31
Slide 31 text
事前知識のないクライアントからの認 可 これまで クライアントはサーバーの事前知識があった MCP クライアントにサーバーの事前知識がない 31
Slide 32
Slide 32 text
クライアントをどう登録するか RFC 7591 - OAuth 2.0 Dynamic Client Registration Protocol 動的クライアント登録 draft-ietf-oauth-client-id-metadata-docum ent-01 クライアント情報のURLをClient IDにする 32
Slide 33
Slide 33 text
まとめ はてなのアカウント基盤の進化を紹介した 認証・認可の分離 セキュアな認証への対応 アカウント基盤は真面目にやるほどおもしろい 時代に合わせたニーズがある 33