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
JWT完全に理解しよう-公開鍵編-.pptx.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
dach
June 24, 2021
Technology
740
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JWT完全に理解しよう-公開鍵編-.pptx.pdf
dach
June 24, 2021
More Decks by dach
See All by dach
dbt_ベストプラクティス_完全に理解した.pdf
dach
2
1.2k
プロジェクトマネージャーと炎の回避術
dach
0
990
SLO_By_Google_Cloud_Monitoring
dach
0
230
状態遷移テスト完全に理解しよう.pdf
dach
0
890
JWT完全に理解しよう-認証編-.pptx.pdf
dach
0
840
チームの垣根を越境する_チーム間交換留学
dach
0
110
設計書のないサービスとの付き合い方.pptx.pdf
dach
0
210
designからWebページを作るやりかた完全に理解した.pdf
dach
1
400
チャレンジコーナー__DFDのモブプロ.pdf
dach
1
3.1k
Other Decks in Technology
See All in Technology
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
ラジオの科学
frievea
0
320
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
13
13k
事業価値と Engineering 2026年度版
recruitengineers
PRO
50
24k
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
250
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.6k
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
300
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
120
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
230
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
320
FDEの心得
noriakioji
5
6k
Featured
See All Featured
Done Done
chrislema
186
16k
The Limits of Empathy - UXLibs8
cassininazir
1
600
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
430
Bash Introduction
62gerente
615
220k
It's Worth the Effort
3n
188
29k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
790
Claude Code のすすめ
schroneko
67
230k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
Transcript
JWT 完全に理解しよう ~公開鍵編~ @dach
Why speak Today?
Playback last Challenge corner JWT • 何ができるか:トークンを使ったセキュリティーの実現、自己完結型・安全 • 何故必要か:JSONを構造化できる、シンプルかつわかりやすくするため
• どのような時につかうか:ユーザー認証、改竄の有無を確認するため、 • 初登場: • 開発者: • 特徴: ◦ ◦ 出典:公式サイト
どげんかせんといかん Thinking
Today’s goal JWTを完全に理解する「為の技術を理解する」
Who is me? EasyEasy icon チキン南蛮 VRM ID: @dach JOB:
Eng (PM / カイゼン屋) Twitter: i-dach qiita: i-dach
Learn JWT
At First
コンパクトな形式のJSONWeb Tokenは、ドット(.)で区切られた3つの部分で構成されています。 • ヘッダ • ペイロード • 署名 したがって、JWTは通常次のようになります。 xxxxx.yyyyy.zzzzz
(公式サイトより) What's JWT structuer
JSON Web Token(JWT)はオープンスタンダード(RFC 7519)であり、当事者間で情報をJSONオブジェクトとして安全に送信する ためのコンパクトで自己完結型の方法を定義しています。この情報はデジタル署名されているため、検証および信頼できます。JWT は、シークレット(HMACアルゴリズムを使用)またはRSAまたはECDSAを使用した公開鍵と秘密鍵のペアを使用して署名できま す。 (公式サイトより) What's JWT
デジタル署名 Keywords シークレット RSA 公開鍵 / 秘密鍵
How to use 承認: これは、JWTを使用するための最も一般的なシナリオです。ユーザーがログインすると、後続の各リクエストにはJWTが含まれ、 ユーザーはそのトークンで許可されているルート、サービス、およびリソースにアクセスできるようになります。シングルサインオン は、オーバーヘッドが小さく、さまざまなドメイン間で簡単に使用できるため、現在JWTを広く使用している機能です 情報交換: JSON Web
Tokenは、当事者間で情報を安全に送信するための優れた方法です。JWTは、たとえば公開鍵と秘密鍵のペアを使用 して署名できるため、送信者が本人であると確信できます。さらに、署名はヘッダーとペイロードを使用して計算されるため、コンテン ツが改ざんされていないことを確認することもできます。 (公式サイトより) 承認 Keywords シングルサインオン
デジタル署名 Keywords シークレット RSA 公開鍵 / 秘密鍵 承認 シングル サインオン
デジタル署名 Keywords シークレット RSA 公開鍵 / 秘密鍵 承認 シングル サインオン
this
Next: Cryptography
Do you understand "Cryptography"? 秘伝のタレを 継承をしたい...
Do you understand "Cryptography"? 口頭 秘伝のタレは 「りんご」を入れる んや ええこと 聞いたわ!
Do you understand "Cryptography"? 口頭 秘伝のタレは 「りんご」を入れる んや ええこと 聞いたわ!
Do you understand "Cryptography"? 口頭 秘伝のタレは XXを入れるんや XXってなんやね ん!
Other threats 盗聴 改ざん なりすまし 否認
Once upon a time... 出典: wikipedia(スタキュレー暗号)
Once upon a time... 出典: wikipedia(スキュタレー暗号) 棒 (鍵) 巻いた状態 (平文)
巻く前 (暗号文)
Symmetric cryptograpy
Symmetric Cryptography 平文 暗号文 鍵 暗号アルゴリズム 鍵 暗号アルゴリズム 暗号文 平文
What’s problem of Symmetric Cryptography ? 伝送 秘タ「ご 入ん 伝レり」
れや のはん をる 鍵 これで完璧や 盗られても 問題ないで
What’s problem of Symmetric Cryptography ? 伝送 秘タ「ご 入ん 伝レり」
れや のはん をる この店長は スキュタレー暗号を使っ てるな 鍵 これだったらブルート フォースアタックで 楽勝や
What’s problem of Symmetric Cryptography ? 伝送 秘タ「ご 入ん 伝レり」
れや のはん をる この経路で鍵さえ盗 れば私の勝ち! 鍵
Thinking 片方だけ渡せば ええんちゃう?
What’s problem of Symmetric Cryptography ? 伝送 なんやこれ、怖っ 鍵 秘タ「ご
入ん 伝レり」 れや のはん をる
What’s problem of Symmetric Cryptography ? 伝送 鍵 秘タ「ご 入ん
伝レり」 れや のはん をる 鍵もろたでーw
Thinking どうすれば安全に鍵を 渡せるだろうか...
Public-key cryptograpy
Public-key Cryptography 平文 暗号文 公開鍵 暗号アルゴリズム 秘密鍵 暗号アルゴリズム 暗号文 平文
鍵は2つとも 私が作ります 公開鍵
How will it get better? 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公
開 鍵 伝送① 秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる
How will it get better? 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公
開 鍵 伝送① 秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる 2つ盗れても ようわからんぞ
RSA 平文 暗号文 公開鍵 E, N 平文 mod N 秘密鍵
D, N 暗号文 mod N 暗号文 平文 E D 大きな素因数分解と等価
Thinking 分析するのはしんど い... どうすればレシピがわ かる?
man-in-the-middle attack 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送①
秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる 公開鍵GET! ぼくの 公開鍵
man-in-the-middle attack 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送①
秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる これで自分の秘 密鍵で復号でき る!!
man-in-the-middle attack 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送①
秘 密 鍵 公 開 鍵 お前はクビだ お 前 は ク ビ だ ついでに嘘の情 報送ってやろw お 前 は ク ビ だ なんでや!!
Thinking どうすれば盗られても 問題ない状態にできる のか...
Authentication Next time
Conclusion
Conclusion • JWTを理解するには前提知識を理解しておく必要があるよ • 対称暗号は強固だけど鍵配送に問題があるよ • 公開鍵暗号だけだとman in the middleされたらバレちゃうよ
Thanks