Slide 1

Slide 1 text

JWT
 完全に理解しよう
 ~認証編~
 @dach


Slide 2

Slide 2 text

Looking back


Slide 3

Slide 3 text

Playback last Challenge corner 
 JWT
 ● 何ができるか:トークンを使ったセキュリティーの実現、自己完結型・安全 
 ● 何故必要か:JSONを構造化できる、シンプルかつわかりやすくするため 
 ● どのような時につかうか:ユーザー認証、改竄の有無を確認するため、 
 ● 初登場:
 ● 開発者:
 ● 特徴:
 ○ 
 ○ 
 
 出典:公式サイト


Slide 4

Slide 4 text

コンパクトな形式のJSONWeb Tokenは、ドット(.)で区切られた3つの部分で構成されています。 ● ヘッダ ● ペイロード ● 署名 したがって、JWTは通常次のようになります。 xxxxx.yyyyy.zzzzz (公式サイトより) What's JWT structuer


Slide 5

Slide 5 text

JSON Web Token(JWT)はオープンスタンダード(RFC 7519)であり、当事者間で情報をJSONオブジェクトとして安全に送信する ためのコンパクトで自己完結型の方法を定義しています。この情報はデジタル署名されているため、検証および信頼できます。JWT は、シークレット(HMACアルゴリズムを使用)またはRSAまたはECDSAを使用した公開鍵と秘密鍵のペアを使用して署名できま す。 (公式サイトより) What's JWT
 デジタル署名 Keywords シークレット RSA 公開鍵 / 秘密鍵

Slide 6

Slide 6 text

How to use
 承認: これは、JWTを使用するための最も一般的なシナリオです。ユーザーがログインすると、後続の各リクエストにはJWTが含まれ、 ユーザーはそのトークンで許可されているルート、サービス、およびリソースにアクセスできるようになります。シングルサインオン は、オーバーヘッドが小さく、さまざまなドメイン間で簡単に使用できるため、現在JWTを広く使用している機能です 情報交換: JSON Web Tokenは、当事者間で情報を安全に送信するための優れた方法です。JWTは、たとえば公開鍵と秘密鍵のペアを使用 して署名できるため、送信者が本人であると確信できます。さらに、署名はヘッダーとペイロードを使用して計算されるため、コンテン ツが改ざんされていないことを確認することもできます。 (公式サイトより) 承認 Keywords シングルサインオン

Slide 7

Slide 7 text

Do you understand "Cryptography"?
 秘伝のタレを 継承をしたい...

Slide 8

Slide 8 text

Do you understand "Cryptography"?
 口頭 秘伝のタレは 「りんご」を入れる んや ええこと 聞いたわ!

Slide 9

Slide 9 text

How will it get better?
 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送① 秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる 2つ盗れても ようわからんぞ

Slide 10

Slide 10 text

man-in-the-middle attack
 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送① 秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる 公開鍵GET! ぼくの 公開鍵

Slide 11

Slide 11 text

man-in-the-middle attack
 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送① 秘 密 鍵 公 開 鍵 秘伝のタレは 「りんご」を入 れるんや 秘タ「ご入ん 伝レり」れや のはんをる これで自分の秘 密鍵で復号でき る!!

Slide 12

Slide 12 text

man-in-the-middle attack
 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送① 秘 密 鍵 公 開 鍵 お前はクビだ お 前 は ク ビ だ ついでに嘘の情 報送ってやろw お 前 は ク ビ だ なんでや!!

Slide 13

Slide 13 text

Thinking
 どうすれば盗られても 問題ない状態にできる のか...

Slide 14

Slide 14 text

Today’s goal 
 認証を理解して、JWTを完全に理解する「為の技術を理解する」

Slide 15

Slide 15 text

Who is me?
 EasyEasy icon チキン南蛮 ID: @dach JOB: Eng (PM / カイゼン屋) Twitter: i-dach qiita: i-dach

Slide 16

Slide 16 text

Learn the technology used in JWT②


Slide 17

Slide 17 text

Authentication Overview


Slide 18

Slide 18 text

● ある行為または文書の記載が正当になされたことを証明する行為。 
 (ブリタニカ国際大百科事典 小項目事典「認証」の解説) 
 
 ● 法律用語としては、行為または文書の成立・記載が正当な手続でなされたことを公の機関が証明すること を意味する。
 (日本大百科全書(ニッポニカ)「認証」の解説) 
 
 ● ① 証明し、認めること。 
 ● ② 一定の行為または文書の成立・記載が正当な手続きでされたことを公の機関が証明すること。訴訟上 の書類に対する裁判所書記官の認証、一般の私署証書に対する公証人の認証、全権委任状、大公使の 信任状に対する天皇の認証など。 
 (精選版 日本国語大辞典「認証」の解説) 
 
 What’s mean “認証” ?


Slide 19

Slide 19 text

man-in-the-middle attack
 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送① 秘 密 鍵 公 開 鍵 お前はクビだ お 前 は ク ビ だ ついでに嘘の情 報送ってやろw お 前 は ク ビ だ なんでや!!

Slide 20

Slide 20 text

man-in-the-middle attack
 伝送② 秘タ「ご入ん 伝レり」れや のはんをる 公 開 鍵 伝送① 秘 密 鍵 公 開 鍵 お前はクビだ お 前 は ク ビ だ ついでに嘘の情 報送ってやろw お 前 は ク ビ だ これは本物じゃないぞ

Slide 21

Slide 21 text

How do you solve it in the real world?
 郵送 秘伝のタレは 「りんご」を入 れるんや 秘伝のタレは 「りんご」を入 れるんや

Slide 22

Slide 22 text

How do you solve it in the real world?
 郵送 秘伝のタレは 「りんご」を入 れるんや 秘伝のタレは 「りんご」を入 れるんや 印 印 法務局に登録して いる印鑑 この印 本物...!

Slide 23

Slide 23 text

How do you solve it in the real world?
 郵送 秘伝のタレは 「くさや」を入 れるんや 秘伝のタレは 「りんご」を入 れるんや 印 印 秘伝のタレは 「くさや」を入 れるんや 印 この印 偽物...!!!!

Slide 24

Slide 24 text

How do you solve it in the real world?
 印 僕が信頼を保証しま す 形式は公開している けど、同じものじゃな いよ

Slide 25

Slide 25 text

Convert for Internet
 デジタル 署名 僕が信頼を保証しま す 形式は公開している けど、同じものじゃな いよ 認 証


Slide 26

Slide 26 text

Digital signature and PKI
 鍵 証明書 認証局 のデジ タル署 名 認 証
 鍵 秘タ「ご入ん 伝レり」れや のはんをる 信頼できるところか ら送られているのか 分かる 鍵

Slide 27

Slide 27 text

Public-key Cryptography 
 平文 暗号文 公開鍵 暗号アルゴリズム 秘密鍵 暗号アルゴリズム 暗号文 平文 鍵は2つとも 私が作ります 公開鍵 Use this

Slide 28

Slide 28 text

Question
 デジタル署名が 改ざんされてもわから なくない?

Slide 29

Slide 29 text

Digital signature
 メッセージ ハッシュ値 公開鍵 復号アルゴリズ ム 秘密鍵 暗号アルゴリズ ム メッセージ 署名 鍵は2つとも 私が作ります 公開鍵 署名 比較 一致すれば成 功 一方向ハッ シュ関数 一方向ハッ シュ関数 非可逆な一意な値を 作ってくれる 秘密鍵で作っているか らこの人しか作れない 情報

Slide 30

Slide 30 text

Digital signature
 メッセージ ハッシュ値 公開鍵 復号アルゴリズ ム 秘密鍵 暗号アルゴリズ ム メッセージ 署名 鍵は2つとも 私が作ります 公開鍵 署名 比較 一致すれば成 功 一方向ハッ シュ関数 一方向ハッ シュ関数 非可逆な一意な値を 作ってくれる 鍵 鍵 秘密鍵で作っているか らこの人しか作れない 情報

Slide 31

Slide 31 text

Digital signature and PKI
 鍵 証明書 認証局 のデジ タル署 名 認 証
 鍵 秘タ「ご入ん 伝レり」れや のはんをる 想定と違うところから来 ていたらこれで分かる 鍵

Slide 32

Slide 32 text

JWT
 Next time

Slide 33

Slide 33 text

Conclusion


Slide 34

Slide 34 text

Conclusion
 ● ようやくJWTに行けそう

Slide 35

Slide 35 text

Thanks