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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yoshikazu Nojima
April 18, 2018
Programming
980
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Spring Securityでハードウェアトークン認証
Spring SecurityでFIDO-U2Fのハードウェアトークンを利用した二段階認証を実現するためにWebAuthnを実装した紹介
Yoshikazu Nojima
April 18, 2018
More Decks by Yoshikazu Nojima
See All by Yoshikazu Nojima
入門DBSC
ynojima
0
530
Passkeys for Java Developers
ynojima
3
1.4k
サーバーサイド開発者のためのパスキー入門
ynojima
4
1.5k
Mavenパッケージの署名検証
ynojima
1
140
FIDO CTAP2 from Authenticator perspective
ynojima
2
1.1k
WebAuthn & WebAuthn4J Introduction
ynojima
2
3k
Introduction to WebAuthn Testing API
ynojima
3
2k
WebAuthn for Java developers
ynojima
1
2.1k
WebAuthn from the relying-party view
ynojima
2
6.4k
Other Decks in Programming
See All in Programming
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
260
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
150
スマートグラスで並列バイブコーディング
hyshu
0
170
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
360
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
180
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
100
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
110
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
350
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
OSもどきOS
arkw
0
570
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Facilitating Awesome Meetings
lara
57
7k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
The Pragmatic Product Professional
lauravandoore
37
7.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
370
A Modern Web Designer's Workflow
chriscoyier
698
190k
We Are The Robots
honzajavorek
0
250
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
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