← メディア一覧

認証と認可の違いとアプリ連携の合鍵リスク

5分04秒 | API

基本情報技術者試験の頻出テーマを解説した音声コンテンツです。

トランスクリプト(字幕テキスト)

あなたが新しいフィットネスアプリに、えーとGoogleアカウントでログインするとき、その裏側で何が起きているか考えたことはありますか? ああ、ありますよね。ワンタップですごく便利で。 そうなんです。でもその便利さの裏で、なんかこう個人情報が意図せず使われる危険はないのかななんて。 ええ。今回はですね、提供いただいた資料を元に、その安全を守っているインターネットの「合言葉」の仕組み、これを紐解いていこうと思います。 はい。まず、どんなサービスにもセキュリティの門番がいるイメージで。 門番ですか?ええ。例えばこんな感じです。厳格な門番のトーンで、「止まってください。鍵、APIキーは持っていますか?」 あはは、面白いですね。でも、まさにそのやり取りが基本なんです。 あ、そうなんですか?ええ。システムはまず、「あなたが誰か」を確認しないといけない。 そのための、一番シンプルな鍵がAPIキーなんですね。でも、ここからがこの話の、えーと面白いところなんです。 面白いところ。なるほど。APIキーは本人確認の鍵、と。 はい。でもそれって、なんていうか、アプリ開発者に家の鍵を丸ごと渡すようなものじゃないですか? うんうん。ちょっと不安に感じます。例えば僕がSNS連携アプリに許可を与えたら、僕の全データにアクセスできちゃうんでしょうか? 素晴らしい質問です。まさにそれが単純なAPIキー認証が抱えていた大きな問題点だったんです。 あ、やっぱり。そこで登場するのが、OAuth(オーオース)のような、もっと現代的な仕組みでして。 OAuth。これは、あなたがサービスの門番に、鍵そのものを渡すんじゃなくて、 「このアプリには私の写真アルバムを閲覧することだけ許可します」と書かれた、すごく具体的な許可証を渡すようなものなんです。 ああ、なるほど。鍵じゃなくて、要件が書かれた許可証。そうですそうです。 それなら、アプリが勝手に写真を削除したり、友人にメッセージを送ったり、そういうことはできないと。 その通りです。そして、この「誰であるか」と「何ができるか」を区別すること。これがセキュリティの核になります。 ほう。ここで、あの重要な2つの言葉が出てくるわけです。はい。 この違いを、まあリズムで覚えてみましょうか。リズムで。ええ、行きますよ。 認証は「誰か」。そして、認可は「何ができるか」。 ああ。門番があなた本人かを確認するのが認証。そして、渡された許可証を見てどの部屋への立ち入りを許すか決めるのが認可です。 認証は誰か認可は何ができるか。これは分かりやすいですね。ええ。 でも、ユーザー側からすると、その認可の画面って結構分かりにくいことが多いですよね。 まさに。「連絡先の管理を許可しますか?」って聞かれても、具体的に何をするのかいまいちよく分からなくて。 ええ、ありますね。で、つ「はい」を押しちゃう。このUI/UXの問題も、セキュリティリスクに繋がりそうだなって。 まさにその通りで、そこが現代のセキュリティにおける最大の課題の一つですね。そうなんですか? 実は、最近の大きなデータ漏洩事件の多くは、認証の失敗、つまり不正ログインよりも、 認可の値すぎが原因なんです。へえー! ユーザーが意図せず与えてしまった、その強力な権限をアプリが悪用する、というケースですね。 だからこそ、システム設計では最小権限の原則が重要になるんです。最小権限。 つまり、アプリが必要とする本当に最低限の許可だけを与えるべきだ、という考え方です。 昔なんか面白半分に入れたゲームアプリにSNSを連携したら、勝手に友達全員に招待を送りつけちゃって… ああ、よく聞く話です。大問題になったことがあるんですよ。あれはまさに、 僕がそのアプリに「友達リストへのアクセスと投稿」っていう強力すぎる権限を認可してしまった結果だったんですね。 ええええ。典型的な例ですね。OAuthで言うところのスコープ、つまり許可の範囲が、まあ広すぎたわけです。 スコープ。はい。良いサービスというのは、このスコープを、 「プロフィール情報の閲覧のみ」とか「投稿の作成のみ」といったように、すごく細かく設定してるんです。 なるほどなー。なので、ユーザーはこの許可証の内容をよく確認するリテラシーが求められますし、 サービス提供側はそれを分かりやすく提示する責任があると。 つまり、僕たちが毎日何気なく使ってるサービスは、「あなたは誰ですか?」と問う認証と、ええ、 「あなたに何を許可しますか?」と細かく決める認可、この2段階のかなり厳格なチェックによって守られている。 そうですね。そしてその安全っていうのは、サービス側の設計と、僕たちユーザー側の注意深さの両方で成り立っているわけですね。 ええ、その通りです。この洗練された仕組みがあるからこそ、私たちは様々なサービスを安全に連携させて、 豊かなデジタルライフを送ることができるのです。 では、最後に少し考えてみてください。あなたが昨日「許可」ボタンを押したあのアプリ。 あなたは一体そのアプリに、「何をする許可証」を渡したか、正確に覚えていますか? そしてその許可は、本当に必要だったんでしょうか。

このコンテンツは Web society で視聴・学習できます。