$30 off During Our Annual Pro Sale. View Details »

JWT完全に理解しよう-認証編-.pptx.pdf

dach
July 29, 2021

 JWT完全に理解しよう-認証編-.pptx.pdf

dach

July 29, 2021
Tweet

More Decks by dach

Other Decks in Technology

Transcript

  1. JWT

    完全に理解しよう

    ~認証編~

    @dach


    View Slide

  2. Looking back


    View Slide

  3. Playback last Challenge corner 

    JWT

    ● 何ができるか:トークンを使ったセキュリティーの実現、自己完結型・安全

    ● 何故必要か:JSONを構造化できる、シンプルかつわかりやすくするため

    ● どのような時につかうか:ユーザー認証、改竄の有無を確認するため、

    ● 初登場:

    ● 開発者:

    ● 特徴:

    ○ 

    ○ 


    出典:公式サイト


    View Slide

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


    View Slide

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

    デジタル署名
    Keywords
    シークレット RSA 公開鍵 / 秘密鍵

    View Slide

  6. How to use

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

    View Slide

  7. Do you understand "Cryptography"?

    秘伝のタレを
    継承をしたい...

    View Slide

  8. Do you understand "Cryptography"?

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

    View Slide

  9. How will it get better?

    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






    秘伝のタレは
    「りんご」を入
    れるんや
    秘タ「ご入ん
    伝レり」れや
    のはんをる
    2つ盗れても
    ようわからんぞ

    View Slide

  10. man-in-the-middle attack

    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






    秘伝のタレは
    「りんご」を入
    れるんや
    秘タ「ご入ん
    伝レり」れや
    のはんをる
    公開鍵GET!
    ぼくの
    公開鍵

    View Slide

  11. man-in-the-middle attack

    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






    秘伝のタレは
    「りんご」を入
    れるんや
    秘タ「ご入ん
    伝レり」れや
    のはんをる
    これで自分の秘
    密鍵で復号でき
    る!!

    View Slide

  12. man-in-the-middle attack

    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






    お前はクビだ






    ついでに嘘の情
    報送ってやろw






    なんでや!!

    View Slide

  13. Thinking

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

    View Slide

  14. Today’s goal 

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

    View Slide

  15. Who is me?

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

    View Slide

  16. Learn the technology used in
    JWT②


    View Slide

  17. Authentication Overview


    View Slide

  18. ● ある行為または文書の記載が正当になされたことを証明する行為。 

    (ブリタニカ国際大百科事典 小項目事典「認証」の解説) 


    ● 法律用語としては、行為または文書の成立・記載が正当な手続でなされたことを公の機関が証明すること
    を意味する。

    (日本大百科全書(ニッポニカ)「認証」の解説) 


    ● ① 証明し、認めること。 

    ● ② 一定の行為または文書の成立・記載が正当な手続きでされたことを公の機関が証明すること。訴訟上
    の書類に対する裁判所書記官の認証、一般の私署証書に対する公証人の認証、全権委任状、大公使の
    信任状に対する天皇の認証など。 

    (精選版 日本国語大辞典「認証」の解説) 


    What’s mean “認証” ?


    View Slide

  19. man-in-the-middle attack

    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






    お前はクビだ






    ついでに嘘の情
    報送ってやろw






    なんでや!!

    View Slide

  20. man-in-the-middle attack

    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






    お前はクビだ






    ついでに嘘の情
    報送ってやろw






    これは本物じゃないぞ

    View Slide

  21. How do you solve it in the real world?

    郵送
    秘伝のタレは
    「りんご」を入
    れるんや
    秘伝のタレは
    「りんご」を入
    れるんや

    View Slide

  22. How do you solve it in the real world?

    郵送
    秘伝のタレは
    「りんご」を入
    れるんや
    秘伝のタレは
    「りんご」を入
    れるんや
    印 印
    法務局に登録して
    いる印鑑
    この印
    本物...!

    View Slide

  23. How do you solve it in the real world?

    郵送
    秘伝のタレは
    「くさや」を入
    れるんや
    秘伝のタレは
    「りんご」を入
    れるんや


    秘伝のタレは
    「くさや」を入
    れるんや

    この印
    偽物...!!!!

    View Slide

  24. How do you solve it in the real world?


    僕が信頼を保証しま

    形式は公開している
    けど、同じものじゃな
    いよ

    View Slide

  25. Convert for Internet

    デジタル
    署名
    僕が信頼を保証しま

    形式は公開している
    けど、同じものじゃな
    いよ
    認 証


    View Slide

  26. Digital signature and PKI


    証明書
    認証局
    のデジ
    タル署

    認 証


    秘タ「ご入ん
    伝レり」れや
    のはんをる
    信頼できるところか
    ら送られているのか
    分かる

    View Slide

  27. Public-key Cryptography 

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

    View Slide

  28. Question

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

    View Slide

  29. Digital signature

    メッセージ
    ハッシュ値
    公開鍵
    復号アルゴリズ

    秘密鍵
    暗号アルゴリズ

    メッセージ 署名
    鍵は2つとも
    私が作ります
    公開鍵
    署名
    比較
    一致すれば成

    一方向ハッ
    シュ関数
    一方向ハッ
    シュ関数
    非可逆な一意な値を
    作ってくれる
    秘密鍵で作っているか
    らこの人しか作れない
    情報

    View Slide

  30. Digital signature

    メッセージ
    ハッシュ値
    公開鍵
    復号アルゴリズ

    秘密鍵
    暗号アルゴリズ

    メッセージ 署名
    鍵は2つとも
    私が作ります
    公開鍵
    署名
    比較
    一致すれば成

    一方向ハッ
    シュ関数
    一方向ハッ
    シュ関数
    非可逆な一意な値を
    作ってくれる


    秘密鍵で作っているか
    らこの人しか作れない
    情報

    View Slide

  31. Digital signature and PKI


    証明書
    認証局
    のデジ
    タル署

    認 証


    秘タ「ご入ん
    伝レり」れや
    のはんをる
    想定と違うところから来
    ていたらこれで分かる

    View Slide

  32. JWT

    Next time

    View Slide

  33. Conclusion


    View Slide

  34. Conclusion

    ● ようやくJWTに行けそう

    View Slide

  35. Thanks


    View Slide