Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spring Securityでハードウェアトークン認証
Search
Yoshikazu Nojima
April 18, 2018
Programming
0
880
Spring Securityでハードウェアトークン認証
Spring SecurityでFIDO-U2Fのハードウェアトークンを利用した二段階認証を実現するためにWebAuthnを実装した紹介
Yoshikazu Nojima
April 18, 2018
Tweet
Share
More Decks by Yoshikazu Nojima
See All by Yoshikazu Nojima
サーバーサイド開発者のためのパスキー入門
ynojima
4
870
Mavenパッケージの署名検証
ynojima
1
67
FIDO CTAP2 from Authenticator perspective
ynojima
2
900
WebAuthn & WebAuthn4J Introduction
ynojima
2
2.5k
Introduction to WebAuthn Testing API
ynojima
3
1.9k
WebAuthn for Java developers
ynojima
2
2k
WebAuthn from the relying-party view
ynojima
2
6.1k
WebAuthn in a nutshell - NTT Tech Conf #3 (ja)
ynojima
2
1.9k
Other Decks in Programming
See All in Programming
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
190
本当だってば!俺もTRICK 2022に入賞してたんだってば!
jinroq
0
260
ベクトル検索システムの気持ち
monochromegane
30
9.2k
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.3k
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
400
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
740
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
510
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
140
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
170
ニックトレイン登壇資料
ryotakurokawa
0
140
WordPress Playground for Developers
iambherulal
0
120
爆速スッキリ! Rspack 移行の成果と道のり - Muddy Web #11
dora1998
1
160
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Navigating Team Friction
lara
184
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Fireside Chat
paigeccino
37
3.3k
Side Projects
sachag
452
42k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
620
Adopting Sorbet at Scale
ufuk
75
9.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
18k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Docker and Python
trallard
44
3.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
480
Transcript
Copyright © Yoshikazu Nojima 2018 Spring Securityでハードウェアトークン認証 2018-04-18 能島 良和
(@shiroica)
Copyright © Yoshikazu Nojima 2018 自己紹介 • 能島良和 • 通信キャリアでホスティングサービスの開発・運用
• 前職は通信キャリア系SIerで社内向けにSpringのPJ技術支援業務 • Twitter:@shiroica • GitHub:ynojima • Apache CloudStackというOSSのコミッタ • Apache CloudStackはSpringの上に構築されています :) 1
Copyright © Yoshikazu Nojima 2018 突然ですが・・・ この中にオンラインサービスのアカウントを 乗っ取られた経験のある方はいますか? 2
Copyright © Yoshikazu Nojima 2018 恥ずかしながら私はあります・・・ 3 アカウントを乗っ取られてスパム投稿に悪用された例:
Copyright © Yoshikazu Nojima 2018 原因 恐らく別のサービスから流出したID/Passwordによるリスト型攻撃。 ID/Passwordを色々なサービスで使いまわしていた為に攻撃されました。 4 もっと安全な認証手段
が欲しい!!!
Copyright © Yoshikazu Nojima 2018 Web Authentication仕様とは 最近W3Cで勧告候補になった、ハードウェアトークンによる二段階認証や生体認証による セキュアな認証をウェブで実現するためのWeb標準。Firefox Beta/Chrome
Canaryで実装済 • ローカル認証 • ユーザーとクライアントプラットフォーム間の認証 • 公開鍵認証 • クライアントプラットフォームとサーバー間の認証 の合わせ技の認証方式 5 ユーザー クライアント プラットフォーム サーバー ローカル認証 (指紋認証等) 公開鍵認証 昨日のPublickeyのWebAuthnの紹介記事:
Copyright © Yoshikazu Nojima 2018 Spring Securityで実装してみました spring-security-webauthn • Web
Authentication仕様を実装するspring-securityの認証プロバイダを実装しライブラリ化 • https://github.com/ynojima/spring-security-webauthn 6 ※多要素認証の実現上、Spring Security本体の実装に も手を入れる必要があり、本体側にもPull Req中
Copyright © Yoshikazu Nojima 2018 Web Authenticationの認証フロー(概略) • ユーザー登録 •
ユーザー認証 7 ユーザー 認証デバイス ブラウザ サーバー DB ユーザー 認証デバイス ブラウザ サーバー DB • チャレンジ • チャレンジ • ドメイン名 • 署名 • 署名されたデータ • チャレンジ • ドメイン名 • 他 • 署名 • 署名されたデータ 署名、ドメイン チャレンジ、他の検証 RP固有 公開鍵の読込 RP固有 公開鍵の保存 • 認証承認操作 • 登録承認操作 • RP (サイト) 固有公開鍵 • RP固有公開鍵 ローカル認証 公開鍵認証 認証情報を検証 認証情報を検証 RP固有 秘密鍵で署名
Copyright © Yoshikazu Nojima 2018 デモ 8
Copyright © Yoshikazu Nojima 2018 デモ 9
Copyright © Yoshikazu Nojima 2018 デモ 10
Copyright © Yoshikazu Nojima 2018 デモ 11
Copyright © Yoshikazu Nojima 2018 デモ 12
Copyright © Yoshikazu Nojima 2018 デモ 13
Copyright © Yoshikazu Nojima 2018 デモ 14