Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

認証・認可の基本を学ぼう後編

Avatar for kaza kaza
December 03, 2025

 認証・認可の基本を学ぼう後編

Avatar for kaza

kaza

December 03, 2025
Tweet

More Decks by kaza

Other Decks in Programming

Transcript

  1. 目次 1 . お さ ら い 2 . 認

    証 認 可 の シ ス テ ム 表 現 3 . 悪 い 奴 ら 4 . 悪 い 奴 ら 対 策 メ ド レ ー 5 . O A u t h の 認 可 フ ロ ー 6 . O I D C の 認 証 フ ロ ー 7 . ま と め
  2. おさらい 認 証 は 「 誰 」 を 確 認

    し 、 対 象 外 の 人 を 除 外 す る た め の 仕 組 み 認 可 は 対 象 の 人 の 「 権 限 」 を 管 理 す る た め の 仕 組 み O p e n I D は 認 証 プ ロ ト コ ル 、 O A u t h は 認 可 プ ロ ト コ ル O p e n I D は 仕 様 が 複 雑 ・ 扱 い づ ら い た め 流 行 ら な か っ た O A u t h は 認 可 プ ロ ト コ ル な の に 認 証 で 使 わ れ る こ と が あ っ た ( セ キ ュ リ テ ィ リ ス ク が あ る 間 違 っ た 使 い 方 ) 上 記 状 況 を 改 善 す る た め 、 O A u t h の 仕 組 み を ベ ー ス に 策 定 さ れ た 認 証 プ ロ ト コ ル が O p e n I D C o n n e c t ( O I D C )
  3. 認証認可のシステム表現 前 回 は 概 念 を 理 解 し

    て も ら う た め 、 「 認 証 結 果 」 や 「 ア ク セ ス 権 」 と い う 表 現 を 用 い て い ま し た 。
  4. こ れ ら を シ ス テ ム 表 現

    す る と 下 記 の 通 り と な り ま す 。 認 証 結 果   : I D ト ー ク ン ア ク セ ス 権 : ア ク セ ス ト ー ク ン O I D C と O A u t h は つ ま る と こ ろ 、 ど の よ う に ト ー ク ン を 取 得 ・ 利 用 す る か 、 と い う 流 れ を 取 り 決 め た も の に な り ま す 。 実 際 に O A u t h の 概 念 と シ ス テ ム 表 現 を 見 比 べ て み ま し ょ う !
  5. 大 ま か な 流 れ と し て は

    一 致 し て い る こ と が 見 て 取 れ る ん じ ゃ な い か と 思 い ま す 。 一 方 で 、 い く つ か 差 異 が あ る こ と に も 気 づ き ま し た で し ょ う か ? ブ ラ ウ ザ が 登 場 人 物 に 増 え て い る 認 可 コ ー ド と い う 新 た な 単 語 が 出 て き て い る
  6. こ こ が ま さ に で す ね 、

    概 念 だ け で は う ま く い か な い と こ ろ 。 つ ま り 、 シ ス テ ム の 穴 を 突 こ う と す る 悪 い 奴 ら か ら お 客 様 の 情 報 を 守 る た め の 工 夫 が 施 さ れ て い る 部 分 ( の ひ と つ ) に な り ま す 。
  7. 悪い奴ら ア ク セ ス ト ー ク ン は

    個 人 情 報 を 含 む リ ソ ー ス を 好 き 放 題 操 作 で き る 力 を 持 っ て い ま す 。 だ か ら こ そ 、 悪 い 奴 ら も こ ぞ っ て 狙 っ て き ま す 。 悪い奴ら
  8. 例 え ば も し ア ク セ ス ト

    ー ク ン を 直 接 返 す と す る と 、 悪 意 あ る 第 三 者 に よ っ て ブ ラ ウ ザ や 通 信 層 か ら ア ク セ ス ト ー ク ン を 読 み 取 ら れ て し ま う 恐 れ が あ り ま す 。
  9. だ か ら こ そ 、 認 可 コ ー

    ド と い う 存 在 が 重 要 な 意 味 を 持 ち ま す 。
  10. 認 可 コ ー ド と は つ ま る

    と こ ろ ト ー ク ン 引 換 券 で す 。 有 効 期 限 付 き か つ 1 回 限 り と い う 制 約 が あ り ま す 。
  11. だ か ら こ そ 、 悪 意 あ る

    第 三 者 が ア ク セ ス 可 能 な ブ ラ ウ ザ に 公 開 す る こ と が で き る ん で す ね 。
  12. そ し て ア ク セ ス ト ー ク

    ン は 、 ブ ラ ウ ザ を 介 さ ず 、 ク ラ イ ア ン ト が 直 接 認 可 サ ー バ ー か ら 取 得 し ま す 。
  13. こ の よ う に 、 シ ス テ ム

    と し て 扱 う か ら に は 、 シ ス テ ム な ら で は の 対 策 が 色 々 と 必 要 に な り ま す 。 O I D C や O A u t h と い う 仕 様 に は 、 そ う い っ た 対 策 が 色 々 と 盛 り 込 ま れ て い て 、 様 々 な 攻 撃 を 防 げ る よ う に な っ て い ま す 。
  14. 例 え ば 、 認 可 コ ー ド を

    受 け 取 る に は 、 受 け 取 り 先 ( リ ダ イ レ ク ト 先 ) の 指 定 が 必 要 に な り ま す が 、 こ れ を 自 由 に 設 定 で き て し ま う と ど う な る で し ょ う か ? このレスポンス連携先が 別の場所に指定可能だったら? 悪い奴ら対策メドレー
  15. 認 可 コ ー ド が い く ら 1

    回 限 り で も 、 使 う 前 に 奪 わ れ て し ま え ば 意 味 が な い で す よ ね 。 悪 意 あ る 第 三 者 に 利 用 で き て し ま い ま す 。
  16. こ の よ う な 攻 撃 を オ ー

    プ ン リ ダ イ レ ク ト と 言 い ま す 。 こ れ を 防 ぐ た め に 、 O A u t h で は 、 あ ら か じ め 登 録 し て お い た リ ダ イ レ ク ト 先 と 一 致 し な い リ ソ ー ス ア ク セ ス 要 求 は 拒 否 さ れ る 仕 組 み と な っ て い ま す 。 ここでリダイレクト先が 登録済かどうかチェック。 想定外のリダイレクトを拒否
  17. 同 じ く 認 可 コ ー ド の 受

    け 取 り 先 を 別 の ク ラ イ ア ン ト に し て し ま う と い う 攻 撃 も あ り ま す 。 そ の 名 も 認 可 コ ー ド 横 取 り 攻 撃 ( そ の ま ん ま で す ね ) 。
  18. こ れ は カ ス タ ム U R L

    ス キ ー ム に 衝 突 チ ェ ッ ク 機 能 が な く 、 同 じ U R L を 設 定 で き て し ま う こ と を 用 い た 脆 弱 性 攻 撃 で す 。 ここで同じURLであれば 攻撃者アプリが対象と 見なされるパターンがある
  19. code_verifierから生成した code_challengeを送信 O A u t h で は こ

    れ を 防 ぐ た め に 、 認 可 リ ク エ ス ト と 認 可 コ ー ド 交 換 リ ク エ ス ト が 同 じ ア プ リ に よ る も の か ど う か を 検 証 し ま す 。 事前に送られたcode_challengeと 一致するかどうかで 同一アプリのリクエストかチェック
  20. ま た 、 C S R F ( ク ロ

    ス サ イ ト リ ク エ ス ト フ ォ ー ジ ェ リ ) と 呼 ば れ る 変 わ っ た 攻 撃 も あ り ま す 。 悪 意 あ る ユ ー ザ が あ え て 自 分 の ア カ ウ ン ト に 被 害 者 を ロ グ イ ン さ せ 、 個 人 情 報 を 奪 う も の で す 。
  21. O A u t h で は こ れ を

    防 ぐ た め に 、 認 可 リ ク エ ス ト と ア ク セ ス ト ー ク ン 発 行 リ ク エ ス ト が 同 一 ユ ー ザ に よ る も の か ど う か チ ェ ッ ク し ま す 。 認 可 リ ク エ ス ト 時 に s t a t e を 生 成 リクエストした人しか知らない stateが一致するかどうかチェック
  22. 当 然 ア ク セ ス ト ー ク ン

    や 認 可 コ ー ド だ け で な く 、 O I D C の 認 証 結 果 = I D ト ー ク ン も 狙 わ れ て い ま す 。 下 記 は リ プ レ イ 攻 撃 と 呼 ば れ る 手 法 で す 。
  23. O I D C で は こ れ を 防

    ぐ た め に 、 I D ト ー ク ン の 中 に 検 証 用 の 値 を 埋 め 込 ん で お き 、 最 新 の 生 成 値 と 一 致 す る か を チ ェ ッ ク し ま す 。 認 証 時 に n o n c e を 生 成 IDトークンから取り出したnonce が最新の値と一致するかチェック
  24. こ の よ う に 、 O I D C

    や O A u t h に は 、 過 去 の 悪 い 奴 ら と の 戦 い を 経 て 積 み 上 げ ら れ た 技 術 と 対 策 が 盛 り 込 ま れ て い ま す 。 だ か ら こ そ 、 多 く の シ ス テ ム に お い て 安 心 し て 採 用 で き る 仕 組 み と な っ て い る ん で す ね 。
  25. OAuthの認可フロー そ れ で は 、 具 体 的 に

    処 理 フ ロ ー を 見 て み ま し ょ う 。 ま ず は O A u t h で す が 、 O A u t h は 認 可 プ ロ ト コ ル で す 。 つ ま り は ア ク セ ス ト ー ク ン の 取 得 ・ 利 用 手 順 を 取 り 決 め た も の に な り ま す 。 こ の ア ク セ ス ト ー ク ン の 取 得 ・ 利 用 手 順 フ ロ ー の パ タ ー ン を 、 グ ラ ン ト タ イ プ と 言 い ま す 。 グ ラ ン ト は 付 与 を 意 味 す る 言 葉 な の で 、 直 訳 す る と 「 ( ア ク セ ス ト ー ク ン ) 付 与 の 種 別 」 に な り ま す 。
  26. グ ラ ン ト タ イ プ は 基 本

    仕 様 と し て 4 種 類 定 義 さ れ て い ま す 。 認 可 コ ー ド グ ラ ン ト イ ン プ リ シ ッ ト グ ラ ン ト ク ラ イ ア ン ト ク レ デ ン シ ャ ル グ ラ ン ト リ ソ ー ス オ ー ナ ー パ ス ワ ー ド ク レ デ ン シ ャ ル グ ラ ン ト こ の う ち 下 記 は セ キ ュ リ テ ィ 観 点 で 問 題 が あ り 、 代 替 案 が あ る 現 在 は ほ ぼ 使 わ れ る こ と は な い で す 。 イ ン プ リ シ ッ ト グ ラ ン ト リ ソ ー ス オ ー ナ ー パ ス ワ ー ド ク レ デ ン シ ャ ル グ ラ ン ト
  27. と い う わ け で 今 回 は 下

    記 の 2 つ を 学 習 し ま し ょ う 。 認 可 コ ー ド グ ラ ン ト ク ラ イ ア ン ト ク レ デ ン シ ャ ル グ ラ ン ト
  28. 認 可 コ ー ド グ ラ ン ト で

    は リ ソ ー ス オ ー ナ ー を 特 定 し 承 認 を 得 る こ と で ア ク セ ス ト ー ク ン を 発 行 し ま す 。 < 認 可 コ ー ド グ ラ ン ト > リ ソ ー ス オ ー ナ ー を 特 定 = ユ ー ザ に 認 証 を 求 め る た め 、 シ ス テ ム 構 成 に お い て 一 番 よ く 見 か け る パ タ ー ン で す 。
  29. r e s p o n s e _ t

    y p e で c o d e ( 認 可 コ ー ド ) を 指 定 し て い る 、 s t a t e で C S R F 対 策 を し て い る こ と な ど が 見 て 取 れ る の で は な い か と 思 い ま す 。
  30. こ こ に 認 可 コ ー ド 横 取

    り 攻 撃 対 策 ( P K C E と 呼 ば れ ま す ) を 追 加 す る と 、 下 記 の よ う に な り ま す 。
  31. な お 、 P K C E が 必 要

    か ど う か は ク ラ イ ア ン ト の 性 質 に よ り ま す 。 通 常 の W e b ア プ リ ケ ー シ ョ ン で あ れ ば ク ラ イ ア ン ト シ ー ク レ ッ ト で 正 規 ア ク セ ス か 検 証 で き る た め 、 P K C E は な く て も 問 題 あ り ま せ ん 。 SPAはクライアントシークレットが扱えない、 ネイティブアプリはカスタムURLスキーム問題あり のため、PKCEが必要
  32. ち な み に ア ク セ ス ト ー

    ク ン を デ コ ー ド す る と 、 下 記 の よ う な 情 報 を 得 ら れ ま す 。 発 行 者 や 対 象 ユ ー ザ I D 、 ア ク セ ス ト ー ク ン の 期 限 、 許 可 す る 権 限 ( s c o p e ) な ど が 確 認 で き ま す 。
  33. ク ラ イ ア ン ト ク レ デ ン

    シ ャ ル グ ラ ン ト は 、 ユ ー ザ で は な く ア プ リ 単 位 で 認 可 を 得 る 場 合 に 利 用 し ま す 。 例 え ば ア プ リ が ユ ー ザ の 一 覧 を 取 得 し た り 、 ユ ー ザ 情 報 を 参 照 ・ 編 集 し た り す る 場 合 、 悪 意 あ る 別 の ア プ リ が そ れ ら の 機 能 を 利 用 で き な い よ う 、 き ち ん と 許 可 を 得 て い る こ と を 確 認 す る 必 要 が あ り ま す 。 こ れ が ク ラ イ ア ン ト ク レ デ ン シ ャ ル グ ラ ン ト で す 。 < ク ラ イ ア ン ト ク レ デ ン シ ャ ル グ ラ ン ト >
  34. ク ラ イ ア ン ト ク レ デ ン

    シ ャ ル グ ラ ン ト は 、 非 常 に シ ン プ ル な フ ロ ー で す 。 サ ー バ ー 側 で 保 持 し た ク ラ イ ア ン ト シ ー ク レ ッ ト を 認 可 サ ー バ ー 側 で 検 証 す る だ け で 発 行 可 能 で す 。
  35. 1 点 だ け 注 意 点 と し て

    、 こ の タ イ プ で は リ フ レ ッ シ ュ ト ー ク ン ( ア ク セ ス ト ー ク ン 再 発 行 用 ) は 発 行 す る べ き で は な い で す 。 理 由 は 、 リ フ レ ッ シ ュ ト ー ク ン は あ く ま で ユ ー ザ の 再 認 証 の 手 間 を 省 く た め の も の な の で 、 ユ ー ザ が 登 場 し な い こ の フ ロ ー で は 発 行 す る 意 味 が な い ( む し ろ セ キ ュ リ テ ィ 的 に リ ス ク に な る だ け ) か ら で す 。
  36. OIDCの認証フロー O I D C は 認 証 プ ロ

    ト コ ル で す 。 つ ま り は I D ト ー ク ン の 取 得 ・ 利 用 手 順 を 取 り 決 め た も の に な り ま す 。 O A u t h の 拡 張 仕 様 で あ る た め 、 基 本 的 な 処 理 の 流 れ は 同 じ で す 。 そ こ に 、 認 証 仕 様 が 追 加 さ れ て い る 形 と な り ま す 。
  37. ③ I D ト ー ク ン を 受 け

    取 っ た ク ラ イ ア ン ト は 、 I D ト ー ク ン を デ コ ー ド し 、 自 ク ラ イ ア ン ト に 対 す る 認 証 結 果 か ど う か を 検 証 し ま す 。 I D ト ー ク ン の デ コ ー ド 結 果 か ら 、 認 証 日 時 や 手 段 、 有 効 期 限 、 ど の ク ラ イ ア ン ト に 対 す る 認 証 要 求 か な ど の 情 報 を 参 照 す る こ と が で き ま す 。 こ れ に よ り 、 認 証 の 有 効 性 を 正 確 に 判 断 す る こ と が で き 、 ア プ リ と し て ロ グ イ ン 状 態 を 維 持 す る か ど う か を 制 御 す る こ と が で き ま す 。 < デ コ ー ド 結 果 > OAuthには、 この認証の有効性検証に関する仕様がなかった!
  38. まとめ O A u t h に は 4 つ

    の グ ラ ン ト タ イ プ が あ り 、 下 記 2 つ が よ く 使 わ れ る も の 認 可 コ ー ド グ ラ ン ト ク ラ イ ア ン ト ク レ デ ン シ ャ ル グ ラ ン ト O I D C で は O A u t h の グ ラ ン ト を ベ ー ス に 、 s c o p e の 追 加 や I D ト ー ク ン の 発 行 ・ 検 証 と い う 仕 様 が 追 加 さ れ て い る 認 証 認 可 は 情 報 流 出 の キ ー で あ る た め 、 悪 者 が こ ぞ っ て 狙 っ て い る リ プ レ イ 攻 撃 認 可 コ ー ド 横 取 り 攻 撃 オ ー プ ン リ ダ イ レ ク ト C S R F ( ク ロ ス サ イ ト リ ク エ ス ト フ ォ ー ジ ェ リ ) s t a t e ・ n o n c e ・ c o d e _ v e r i f i e r な ど 、   O I D C や O A u t h に は 攻 撃 対 策 が ば っ ち り 盛 り 込 ま れ て い る
  39. 認 証 認 可 に つ い て あ る

    程 度 理 解 が 進 ん だ で し ょ う か ? よ か っ た ら 下 記 の 参 考 文 献 な ど 見 て み る と よ り 勉 強 に な る と 思 い ま す 。 < 参 考 文 献 > 整 理 し て O A u t h 2 . 0 を 使 う た め の チ ュ ー ト リ ア ル ガ イ ド ( 本 ) 概 念 か ら セ キ ュ リ テ ィ ま で 体 系 的 に 押 さ え る O p e n I D C o n n e c t 入 門 ( 本 ) 3 0 分 で O p e n I D C o n n e c t 完 全 に 理 解 し た と 言 え る よ う に な る 勉 強 会 ( W e b ス ラ イ ド ) O p e n I D C o n n e c t の s t a t e ・ n o n c e ・ P K C E に つ い て 使 用 法 も 含 め て 説 明 し て み る ( W e b サ イ ト )
  40. セ キ ュ リ テ ィ 対 策 に つ

    い て も 色 々 紹 介 し ま し た 。 が 、 と は い え 、 こ れ で 全 部 の 攻 撃 と い う わ け で は あ り ま せ ん 。 ま た 、 今 後 新 た な 攻 撃 が 生 ま れ る 可 能 性 も あ り ま す 。 ユ ー ザ の 大 事 な リ ソ ー ス を 守 る た め に も 、 ト ー ク ン の 有 効 期 限 を 適 切 に 設 定 し た り 、 ト ー ク ン の 保 管 場 所 を 盗 み に く い 場 所 に し た り 、 ア ク セ ス ト ー ク ン が 持 つ 権 限 を 最 小 限 に 抑 え る な ど 、 色 々 工 夫 す る こ と も 忘 れ ず に ! ご清聴ありがとうございました。 Thank you!!