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
850
Spring Securityでハードウェアトークン認証
Spring SecurityでFIDO-U2Fのハードウェアトークンを利用した二段階認証を実現するためにWebAuthnを実装した紹介
Yoshikazu Nojima
April 18, 2018
Tweet
Share
More Decks by Yoshikazu Nojima
See All by Yoshikazu Nojima
FIDO CTAP2 from Authenticator perspective
ynojima
2
850
WebAuthn & WebAuthn4J Introduction
ynojima
2
2.4k
Introduction to WebAuthn Testing API
ynojima
3
1.8k
WebAuthn for Java developers
ynojima
2
1.9k
WebAuthn from the relying-party view
ynojima
2
5.9k
WebAuthn in a nutshell - NTT Tech Conf #3 (ja)
ynojima
2
1.8k
Other Decks in Programming
See All in Programming
RailsのPull requestsのレビューの時に私が考えていること
yahonda
5
1.7k
Vaporモードを大規模サービスに最速導入して学びを共有する
kazukishimamoto
4
4.3k
のびしろを広げる巻き込まれ力:偶然を活かすキャリアの作り方/oso2024
takahashiikki
1
410
qmuntal/stateless のススメ
sgash708
0
120
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
140
推し活の ハイトラフィックに立ち向かう Railsとアーキテクチャ - Kaigi on Rails 2024
falcon8823
6
2.2k
gopls を改造したら開発生産性が高まった
satorunooshie
8
240
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
580
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
5
3.6k
C#/.NETのこれまでのふりかえり
tomokusaba
1
160
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
7
2.8k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
250
Featured
See All Featured
Scaling GitHub
holman
458
140k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
It's Worth the Effort
3n
183
27k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Become a Pro
speakerdeck
PRO
24
5k
Adopting Sorbet at Scale
ufuk
73
9k
Speed Design
sergeychernyshev
24
570
For a Future-Friendly Web
brad_frost
175
9.4k
Navigating Team Friction
lara
183
14k
Rails Girls Zürich Keynote
gr2m
93
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
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