スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.3676
利用者があるWebサービスから、自身の写真共有アプリに対して、写真データへのアクセス権限を安全に付与したいと考えている。このとき、自身のパスワードを写真共有アプリに直接教えることなく、アクセス許可を与える仕組みとして最も適切なものはどれか。

【正解の解説】

OAuthを利用して、サービスが発行するアクセストークンを写真共有アプリに引き渡すことで、パスワードを共有せずに権限を委与する。

ホテルでルームキーなしの他人に自分のマスターキーを渡すのは危険ですが、一時的かつ特定の部屋だけ開けられる「合鍵」を発行すれば安全です。OAuthはこの合鍵であるアクセストークンを発行することで、写真共有アプリにパスワードを教えずに安全にデータアクセスを許可します。

スポンサーリンク

【その他の選択肢の解説】

OpenID Connectを利用して、サービスが発行するIDトークンを写真共有アプリに引き渡すことで、パスワードを共有せずに権限を委与する。

初学者が最も混同しやすいポイントです。OpenID Connectは「あなたは誰ですか?」という本人確認(認証)を担当し、OAuthは「何をしてもよいですか?」という権限の委与(認可)を担当します。今回は権限の付与が目的なのでOAuthが正解となります。

SSL/TLSを利用して、サービスが発行するセッションIDを写真共有アプリに引き渡すことで、パスワードを共有せずに権限を委与する。

SSL/TLSは、インターネット上のデータを覗き見されないように鍵をかけて保護する「道路のトンネル」のような通信暗号化の技術です。アプリにアクセス権限を安全に渡すという、権限委与の仕組みとは役割が全く異なります。

APIキーを利用して、サービスが発行するマスターパスワードを写真共有アプリに引き渡すことで、認証情報を共有せずに権限を委与する。

パスワードそのものを渡すことはセキュリティ上最も避けるべき行為です。APIキーはアプリの識別等に用いられますが、問題文にある「パスワードを直接教えることなく安全に権限を与える」という目的にはOAuthのような専用の仕組みが必要です。