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

JWT完全に理解しよう-公開鍵編-.pptx.pdf

dach
June 24, 2021

 JWT完全に理解しよう-公開鍵編-.pptx.pdf

dach

June 24, 2021
Tweet

More Decks by dach

Other Decks in Technology

Transcript

  1. JWT
    完全に理解しよう
    ~公開鍵編~
    @dach

    View Slide

  2. Why speak Today?

    View Slide

  3. Playback last Challenge corner
    JWT

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

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

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

    ● 初登場:

    ● 開発者:

    ● 特徴:

    ○ 

    ○ 


    出典:公式サイト


    View Slide

  4. どげんかせんといかん
    Thinking

    View Slide

  5. Today’s goal
    JWTを完全に理解する「為の技術を理解する」

    View Slide

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

    View Slide

  7. Learn JWT

    View Slide

  8. At First

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. デジタル署名
    Keywords
    シークレット RSA 公開鍵 / 秘密鍵
    承認
    シングル
    サインオン

    View Slide

  13. デジタル署名
    Keywords
    シークレット RSA 公開鍵 / 秘密鍵
    承認
    シングル
    サインオン
    this

    View Slide

  14. Next: Cryptography

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  18. Do you understand "Cryptography"?
    口頭
    秘伝のタレは
    XXを入れるんや
    XXってなんやね
    ん!

    View Slide

  19. Other threats
    盗聴 改ざん なりすまし 否認

    View Slide

  20. Once upon a time...
    出典: wikipedia(スタキュレー暗号)

    View Slide

  21. Once upon a time...
    出典: wikipedia(スキュタレー暗号)

    (鍵)
    巻いた状態
    (平文)
    巻く前
    (暗号文)

    View Slide

  22. Symmetric cryptograpy

    View Slide

  23. Symmetric Cryptography
    平文 暗号文

    暗号アルゴリズム

    暗号アルゴリズム
    暗号文 平文

    View Slide

  24. What’s problem of Symmetric Cryptography ?
    伝送
    秘タ「ご
    入ん
    伝レり」
    れや
    のはん
    をる

    これで完璧や
    盗られても
    問題ないで

    View Slide

  25. What’s problem of Symmetric Cryptography ?
    伝送
    秘タ「ご
    入ん
    伝レり」
    れや
    のはん
    をる
    この店長は
    スキュタレー暗号を使っ
    てるな

    これだったらブルート
    フォースアタックで
    楽勝や

    View Slide

  26. What’s problem of Symmetric Cryptography ?
    伝送
    秘タ「ご
    入ん
    伝レり」
    れや
    のはん
    をる
    この経路で鍵さえ盗
    れば私の勝ち!

    View Slide

  27. Thinking
    片方だけ渡せば
    ええんちゃう?

    View Slide

  28. What’s problem of Symmetric Cryptography ?
    伝送
    なんやこれ、怖っ

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

    View Slide

  29. What’s problem of Symmetric Cryptography ?
    伝送

    秘タ「ご
    入ん
    伝レり」
    れや
    のはん
    をる
    鍵もろたでーw

    View Slide

  30. Thinking
    どうすれば安全に鍵を
    渡せるだろうか...

    View Slide

  31. Public-key cryptograpy

    View Slide

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

    View Slide

  33. How will it get better?
    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






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

    View Slide

  34. How will it get better?
    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






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

    View Slide

  35. RSA
    平文 暗号文
    公開鍵
    E, N
    平文 mod N
    秘密鍵
    D, N
    暗号文 mod N
    暗号文 平文
    E
    D
    大きな素因数分解と等価

    View Slide

  36. Thinking
    分析するのはしんど
    い...
    どうすればレシピがわ
    かる?

    View Slide

  37. man-in-the-middle attack
    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






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

    View Slide

  38. man-in-the-middle attack
    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






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

    View Slide

  39. man-in-the-middle attack
    伝送②
    秘タ「ご入ん
    伝レり」れや
    のはんをる



    伝送①






    お前はクビだ






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






    なんでや!!

    View Slide

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

    View Slide

  41. Authentication
    Next time

    View Slide

  42. Conclusion

    View Slide

  43. Conclusion
    ● JWTを理解するには前提知識を理解しておく必要があるよ
    ● 対称暗号は強固だけど鍵配送に問題があるよ
    ● 公開鍵暗号だけだとman in the middleされたらバレちゃうよ

    View Slide

  44. Thanks

    View Slide