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
dach
July 29, 2021
Technology
0
670
JWT完全に理解しよう-認証編-.pptx.pdf
dach
July 29, 2021
Tweet
Share
More Decks by dach
See All by dach
dbt_ベストプラクティス_完全に理解した.pdf
dach
2
690
プロジェクトマネージャーと炎の回避術
dach
0
810
SLO_By_Google_Cloud_Monitoring
dach
0
140
状態遷移テスト完全に理解しよう.pdf
dach
0
750
JWT完全に理解しよう-公開鍵編-.pptx.pdf
dach
0
600
チームの垣根を越境する_チーム間交換留学
dach
0
57
設計書のないサービスとの付き合い方.pptx.pdf
dach
0
160
designからWebページを作るやりかた完全に理解した.pdf
dach
1
270
チャレンジコーナー__DFDのモブプロ.pdf
dach
1
2.6k
Other Decks in Technology
See All in Technology
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
120
2024年にチャレンジしたことを振り返るぞ
mitchan
0
150
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
760
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
39
16k
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
100
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
180
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
150
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
130
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
120
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
140
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
190
Featured
See All Featured
Being A Developer After 40
akosma
87
590k
Done Done
chrislema
182
16k
GraphQLとの向き合い方2022年版
quramy
44
13k
Docker and Python
trallard
42
3.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
How GitHub (no longer) Works
holman
311
140k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Thoughts on Productivity
jonyablonski
68
4.4k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Transcript
JWT 完全に理解しよう ~認証編~ @dach
Looking back
Playback last Challenge corner JWT • 何ができるか:トークンを使ったセキュリティーの実現、自己完結型・安全 •
何故必要か:JSONを構造化できる、シンプルかつわかりやすくするため • どのような時につかうか:ユーザー認証、改竄の有無を確認するため、 • 初登場: • 開発者: • 特徴: ◦ ◦ 出典:公式サイト
コンパクトな形式の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 シングルサインオン
Do you understand "Cryptography"? 秘伝のタレを 継承をしたい...
Do you understand "Cryptography"? 口頭 秘伝のタレは 「りんご」を入れる んや ええこと 聞いたわ!
How will it get better? 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公
開 鍵 伝送① 秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる 2つ盗れても ようわからんぞ
man-in-the-middle attack 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送①
秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる 公開鍵GET! ぼくの 公開鍵
man-in-the-middle attack 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送①
秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる これで自分の秘 密鍵で復号でき る!!
man-in-the-middle attack 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送①
秘 密 鍵 公 開 鍵 お前はクビだ お 前 は ク ビ だ ついでに嘘の情 報送ってやろw お 前 は ク ビ だ なんでや!!
Thinking どうすれば盗られても 問題ない状態にできる のか...
Today’s goal 認証を理解して、JWTを完全に理解する「為の技術を理解する」
Who is me? EasyEasy icon チキン南蛮 ID: @dach JOB: Eng
(PM / カイゼン屋) Twitter: i-dach qiita: i-dach
Learn the technology used in JWT②
Authentication Overview
• ある行為または文書の記載が正当になされたことを証明する行為。 (ブリタニカ国際大百科事典 小項目事典「認証」の解説) • 法律用語としては、行為または文書の成立・記載が正当な手続でなされたことを公の機関が証明すること を意味する。
(日本大百科全書(ニッポニカ)「認証」の解説) • ① 証明し、認めること。 • ② 一定の行為または文書の成立・記載が正当な手続きでされたことを公の機関が証明すること。訴訟上 の書類に対する裁判所書記官の認証、一般の私署証書に対する公証人の認証、全権委任状、大公使の 信任状に対する天皇の認証など。 (精選版 日本国語大辞典「認証」の解説) What’s mean “認証” ?
man-in-the-middle attack 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送①
秘 密 鍵 公 開 鍵 お前はクビだ お 前 は ク ビ だ ついでに嘘の情 報送ってやろw お 前 は ク ビ だ なんでや!!
man-in-the-middle attack 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送①
秘 密 鍵 公 開 鍵 お前はクビだ お 前 は ク ビ だ ついでに嘘の情 報送ってやろw お 前 は ク ビ だ これは本物じゃないぞ
How do you solve it in the real world? 郵送
秘伝のタレは 「りんご」を入 れるんや 秘伝のタレは 「りんご」を入 れるんや
How do you solve it in the real world? 郵送
秘伝のタレは 「りんご」を入 れるんや 秘伝のタレは 「りんご」を入 れるんや 印 印 法務局に登録して いる印鑑 この印 本物...!
How do you solve it in the real world? 郵送
秘伝のタレは 「くさや」を入 れるんや 秘伝のタレは 「りんご」を入 れるんや 印 印 秘伝のタレは 「くさや」を入 れるんや 印 この印 偽物...!!!!
How do you solve it in the real world? 印
僕が信頼を保証しま す 形式は公開している けど、同じものじゃな いよ
Convert for Internet デジタル 署名 僕が信頼を保証しま す 形式は公開している けど、同じものじゃな いよ
認 証
Digital signature and PKI 鍵 証明書 認証局 のデジ タル署 名
認 証 鍵 秘タ「ご入ん 伝レり」れや のはんをる 信頼できるところか ら送られているのか 分かる 鍵
Public-key Cryptography 平文 暗号文 公開鍵 暗号アルゴリズム 秘密鍵 暗号アルゴリズム 暗号文
平文 鍵は2つとも 私が作ります 公開鍵 Use this
Question デジタル署名が 改ざんされてもわから なくない?
Digital signature メッセージ ハッシュ値 公開鍵 復号アルゴリズ ム 秘密鍵 暗号アルゴリズ ム
メッセージ 署名 鍵は2つとも 私が作ります 公開鍵 署名 比較 一致すれば成 功 一方向ハッ シュ関数 一方向ハッ シュ関数 非可逆な一意な値を 作ってくれる 秘密鍵で作っているか らこの人しか作れない 情報
Digital signature メッセージ ハッシュ値 公開鍵 復号アルゴリズ ム 秘密鍵 暗号アルゴリズ ム
メッセージ 署名 鍵は2つとも 私が作ります 公開鍵 署名 比較 一致すれば成 功 一方向ハッ シュ関数 一方向ハッ シュ関数 非可逆な一意な値を 作ってくれる 鍵 鍵 秘密鍵で作っているか らこの人しか作れない 情報
Digital signature and PKI 鍵 証明書 認証局 のデジ タル署 名
認 証 鍵 秘タ「ご入ん 伝レり」れや のはんをる 想定と違うところから来 ていたらこれで分かる 鍵
JWT Next time
Conclusion
Conclusion • ようやくJWTに行けそう
Thanks