Upgrade to Pro — share decks privately, control downloads, hide ads and more …

そのAPIはセキュアですか?

RyuSA
January 20, 2021

 そのAPIはセキュアですか?

Financial Grade な API のセキュリティ
#webapilt

RyuSA

January 20, 2021
Tweet

More Decks by RyuSA

Other Decks in Technology

Transcript

  1. そのAPIはセキュアですか?
    Financial Grade な API のセキュリティ
    RyuSA

    View full-size slide

  2. RyuSA
    Financial Service Engineer
    Java & SpringBoot / Typescript & React
    Docker / Kubernetes
    : RyuSA
    : ryusa_eng

    View full-size slide

  3. 全国銀行協会より
    オープンAPI ≠ OpenAPI (Swagger) なんだぜ、ググラビリティがあかん >

    View full-size slide

  4. たぶんこんな世界になる……?

    View full-size slide

  5. ※注 あくまでも登壇者の妄想です
    < サービスしてちょ
    まいどー >
    < Aくんの口座情報教えてー
    あの……焼肉屋さんが…… >
    < 口座情報教えていいですよー
    < はいどうぞ

    View full-size slide

  6. 知ってる!
    これ、OAuth2.0で実装できる!

    View full-size slide

  7. 落ち着け、OAuth2.0はシルバーバレットにあらず

    View full-size slide

  8. • OAuth2.0はリソース制御のための「フレームワーク」
    • OAuth2.0で認可を実装した ≠ セキュアなAPI
    • SNSの認可に要求されるセキュリティレベル
    ≠ 銀行や証券の認可に要求されるセキュリティレベル
    • 近年はオープンAPIも叫ばれており、金融向けのセキュアな認可の整備が急がれている
    • 一方で「セキュアな認証認可」をどこまでやるべきかのガイドラインが必要
    そして究極のセキュリティ「APIを公開しない」が生まれる
    認可に困ったらOAuth2.0に頼ろうとしてない?

    View full-size slide

  9. Financial Grade API
    略して”FAPI” 読み方は「ふぁぴ」だって、かわいいね >

    View full-size slide

  10. • FinTechサービスにOAuthプロファイルを導入するためのガイドライン
    • Part1/Part2/Part3の3部作で構成されており「ReadOnly API」「Read&Write API」
    などについてそれぞれ実装すべき項目が記載されている
    • 金融に限らず、高いセキュリティが要求される認可システムの管理者・実装者は参照す
    べきドキュメント
    • チェックリスト方式になっている
    • 実装すべきこと、設定すべきことが一覧化
    • たまに「実装すべきでない」ことも書いてある
    • CIS Benchmarkのような感じ
    FAPIは”OAuth2.0実装のガイドライン”

    View full-size slide

  11. • Part1 (Read Only)
    • 認可サーバは LoA 2 相当のユーザ認証を実装しなければならない
    • ClientはResource Ownerとのセッション中はredirect_uriを保存し、認可レスポン
    スを受け取った際のredirect_uriと比較しなければならない(5.2.3)
    • Native Appはカスタムスキーマによるリダイレクトを実装してはいけない(7.5)
    • HTTPSによるリダイレクトを利用しましょう
    • Part2 (Read & Write)
    • 認可サーバは LoA 3 相当のユーザ認証を実装しなければならない
    • ClientはHolder-of-Key Tokenと実装しなければならない
    • OAuth 2.0 Token Binding か mTLSかで実装しましょう
    具体例

    View full-size slide

  12. • オープンAPI という世界とその認可のガイドラインFAPI
    • みなさんの身近に迫ってきています
    • 「認可システムを作る / 設計する」ということがあれば、FAPIを覗いてみては?
    • 「あ、この設定した方がいいかも」等の思わぬ発見があると思います
    • セキュリティレベルをビジネスKPIに沿って決定
    • 焼肉食べたい
    • コロナで外出・外食がめっきり減ってしまって、正直口元が少しさびしい……
    まとめ

    View full-size slide