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
980
0
Share
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
460
Passkeys for Java Developers
ynojima
3
1.4k
サーバーサイド開発者のためのパスキー入門
ynojima
4
1.4k
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
AIエージェントの隔離技術の徹底比較
kawayu
0
450
CSC307 Lecture 17
javiergs
PRO
0
290
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
290
GitHub Copilot CLIのいいところ
htkym
2
1.2k
New "Type" system on PicoRuby
pocke
1
390
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
300
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
180
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
430
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
990
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
310
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.5k
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
130
Scaling GitHub
holman
464
140k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
370
Thoughts on Productivity
jonyablonski
76
5.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
How to Ace a Technical Interview
jacobian
281
24k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
A Soul's Torment
seathinner
6
2.9k
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