$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spring Securityでハードウェアトークン認証
Search
Yoshikazu Nojima
April 18, 2018
Programming
0
950
Spring Securityでハードウェアトークン認証
Spring SecurityでFIDO-U2Fのハードウェアトークンを利用した二段階認証を実現するためにWebAuthnを実装した紹介
Yoshikazu Nojima
April 18, 2018
Tweet
Share
More Decks by Yoshikazu Nojima
See All by Yoshikazu Nojima
Passkeys for Java Developers
ynojima
3
1.2k
サーバーサイド開発者のためのパスキー入門
ynojima
4
1.3k
Mavenパッケージの署名検証
ynojima
1
110
FIDO CTAP2 from Authenticator perspective
ynojima
2
1k
WebAuthn & WebAuthn4J Introduction
ynojima
2
2.9k
Introduction to WebAuthn Testing API
ynojima
3
2k
WebAuthn for Java developers
ynojima
2
2.1k
WebAuthn from the relying-party view
ynojima
2
6.2k
WebAuthn in a nutshell - NTT Tech Conf #3 (ja)
ynojima
2
2k
Other Decks in Programming
See All in Programming
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
470
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
これならできる!個人開発のすゝめ
tinykitten
PRO
0
130
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
24k
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
410
クラウドに依存しないS3を使った開発術
simesaba80
0
170
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
620
Java 25, Nuevas características
czelabueno
0
120
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
450
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4k
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
790
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
Featured
See All Featured
Paper Plane
katiecoart
PRO
0
44k
Utilizing Notion as your number one productivity tool
mfonobong
2
190
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
720
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
82
Tell your own story through comics
letsgokoyo
0
770
ラッコキーワード サービス紹介資料
rakko
0
1.8M
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
89
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
The Language of Interfaces
destraynor
162
25k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
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