2024.12.03
企業の情報漏えいで最も多いのは「中途退職者」による持ち出し 内部不正が発生しやすい3つの要素
FAPI (全1記事)
提供:LINE株式会社
リンクをコピー
記事をブックマーク
野田誠人氏:今日は、FAPIについて大まかに説明をいたします。
FAPIをご存じの方はいらっしゃいますか? (挙手を見て)ありがとうございます。
FAPIの正式名称は、Financial-grade APIです。OpenID Foundationが策定しているOAuthとOpenID Connectのプロファイルの上に載せるプロファイルですね。
ファイナンシャルという名称がついているとおり、金融分野で使用されるOAuth、OpenID Connectのプロファイルを定義したものがFAPIです。
FAPIを採用している企業やプロダクトを紹介します。みんなの銀行、SBI(SBI DigiTrust)……Authleteから下は、プロダクトですね。「Authlete」や「Keycloak」などがあります。
みんなの銀行は企業ですが、Authleteを利用してFAPIに対応しています。そのため、今この分野では、Authleteが有名であることが数字的に言えるかなと思います。
「OAuthって何ぞや?」というところを少しおさらいしたいと思います。これは認可と呼ばれる分野で、自分のデータを第三者が利用していいですよという時に使用するフローを定義したものです。
1.0と2.0がありますが、今は基本的に2.0を使用するものと思って差し支えないと思います。Access Tokenとかがよく出てくるところで、あとは、Authorization: Bearerヘッダーとかでよく見かけるのが今では、だいたいこのOAuthです。
OAuthは、OpenID Foundationではなく、IETF(The Internet Engineering Task Force)のRFCで公開しています。
この簡単なフローは、全体がOAuthのフローではなく、上半分がOAuthのフローで、下半分は利用フローです。Introspectionと合わせると、3つのRFCを1つの流れで利用した図になっています。
次に、「OpenID Connectって何ぞや?」について。これはOAuthに被せて、ユーザーの認証情報をやり取りするための規格、仕様になっています。OpenID Foundationというところが定めています。
OAuthは、本当はIDの連携をしたり、「OAuthで認証されているからこのユーザーは正しい」とみなしたりしてはダメなのですが、それらを回避するID連携を実現するために、OAuthに載せた仕様になっています。
(スライドの)上のところがOAuthフローです。OAuthと一部違っているのはAccess Token だけではなくID Token も返ってきます。その下のID Token、User Infoは、Access Tokenを使ってデータを取得するところと同じですが、その途中にPublic Keyを取ってくることで、このOpenID Providerが発行したものだよということが検証できるようになっています。
このため、Access Tokenはどんな文字列でもよかったのですが、ID Tokenは基本的に、JWT(JSON Web Token)と決められています。
もう少しFAPIを見ていこうと思います。BaselineとAdvancedという2つのプロファイルがあります。Baselineは、中程度のリスクを持つAPI向けで、Advancedは、より機密性の高い情報へアクセスするAPI向けです。
Baselineは、Read Onlyプロファイル、AdvancedはRead and Writeプロファイルと呼ばれているので、それをイメージすると使い方の切り替えがイメージしやすいかもしれません。
その一例として、Baselineは、Access Tokenの送信元が、Issuerが送ったユーザーであるということを検知するロールはなく、正当性のチェックはしていません。
Baselineの中から抜粋した部分なんですが、こんなふうにshallとかshouldとかでリストになっているんですね。FAPIは、箇条書きみたいになっているんです。
その中の一番下を見ると、クライアント認証では、client_secret_jwtとprivate_key_jwtの2つのどちらかを使うようにしましょうと定められています。
Advancedになると、もう少し厳しくなり、private_key_jwtだけにしなさいとなっています。そこまでに、client_secret_jwtっていうのは、クライアントに発行したシークレットを使った共通鍵での署名ですね。
private_key_jwtは、公開鍵と秘密鍵を使った非対称性の署名の検証で、より強いセキュリティのところでしか認めません。
「どうやってFAPIを使っていこうか?」となると、何十項目もあるので、これに完全対応していくのは大変ですし、すでにある機能とバッティングする可能性もあります。
例えばFAPIには、x-fapi-interaction-idというヘッダーをつけて送信してきた場合には、それをそのまま返す。ヘッダーをつけて送信してこなかった場合には、ヘッダーにそれをつけてレスポンスを返す、というものがあります。
要は、内部の処理をトレーシングできるようにと、そういうのが定義されているのですが、そういうヘッダーはすでにあるといえばあったんですね。わざわざFAPIに対応するためにそれを書き替えるのはナンセンスじゃないですか。
なんでもかんでも全部対応していくのは、ナンセンスだしコストも高いのですが、チェックリストのように箇条書きになっているので、「これはやってみるとコストが低いけれども効果はあるな」と一つひとつ判断ができると思います。
一部を参考にするだけでも、自身が提供しているOAuthであれOpenID Connectであれ、セキュリティをより高めることができます。
次は、FAPI's Future。今まで紹介したのはFAPI 1.0の概要なんですが、実は2.0のディスカッションは2022年3月ぐらいから始まっています。
(スライドを示して)こちらはFAPI 2.0のBaselineで、Advancedと同等のセキュリティを実現するという目標のもと議論されています。
ただ、こんな感じで、認可レスポンスの検証なんかはissというフィールド、レスポンスのフィールドだけでやるという感じで、少し簡略化されていたりもします。
セキュリティを高めるために、これを使ってもいいですよというのがFAPIの1.0でも出ていたのですが、そのあたりをなるべくシンプルにしているのが2.0のBaselineです。
DPoPなどは、まだRFCでドラフト状態ですが、(スライドを示して)このように積極的に仕様に盛り込むような変更が加えられています。
最後に。FAPIは、セキュアなOAuthやOpenID Connectを提供するために進化し続けるチェックリストという扱いで使っていけるといいかなと思います。
段階的に適用してもいいし、一部分だけ採用してみても効果があると思います。ぜひ検討してみてください。
以上で、私の発表に代えさせていただきます。
(スライドを示して)こういうところにいろいろな資料が載っています。わからないところがあったら、ぜひ参考にしてください。
どうもありがとうございました。
(会場拍手)
LINE株式会社
関連タグ:
2024.11.26
タスクの伝え方が部下のモチベーションを左右する マッキンゼー流、メンバーが動き出す仕事の振り方
2024.11.25
仕事はできるのに、なぜか尊敬されない人が使いがちな言葉5選 老害化を防ぐために大切な心構えとは
2024.11.27
何もせず月収1,000万円超…オンラインゲームにハマって起こした事業 大学中退し4社立ち上げ・2社売却した起業家人生
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.11.25
論理的に「詰める」マネジメントでは本質的な解決にならない マッキンゼー流、メンバーの理解と納得を得る接し方
2024.11.28
管理職の「疲弊感」がメンバーに伝わるリスク 部下の「働きがい」を育む6つのポイント
2024.11.27
部下に残業させられず、自分の負担ばかり増える管理職 組織成長のカギを握る「ミドル層」が抱える課題
2024.11.27
仕事中の「今ちょっといいですか」が苦痛… いしかわゆき氏が語る、ADHD気質にマッチした働き方のヒント
2024.11.26
仕事の質を左右する「ムダな習慣」トップ5 忙しくなる前に棚卸ししたい“やめたほうがいいこと”とは
2024.11.28
“新規事業が生まれない組織”に足りていないもの 「PoC貧乏」に陥らず、アイデアを形にするためのヒント
長期投資の衝撃の真実!20年投資しても年率1.9%しか増えない!?
2024.10.04 - 2024.10.04
第765回 トレンド経営学『顧客に謝る基準とは?』
2022.04.18 - 2022.04.18
不機嫌な自分をやめるために!認知行動療法の専門家 中島美鈴先生新刊『脱イライラ習慣! あなたの怒り取扱説明書』発売記念【無料オンラインイベント】
2024.10.25 - 2024.10.25
ログミーBusiness リニューアル記念イベント開催
2024.11.29 - 2024.11.29
品がある人、育ちがいい人の見える 人のセリフ 3選
2022.11.30 - 2022.11.30