Google・LINEのかんたんログインは安全?確認先とOpenID Connectの注意点
GoogleやLINEの「かんたんログイン」は便利ですが、普段どおり使えているからといって、安全面まで問題ないとは限りません。
画面上では正常に見えていても、GoogleやLINEで本人確認をした後、「誰としてログインさせるのか」「どこまで情報や機能を使えるようにするのか」は、自社サイトのシステム側で決めているからです。
この部分に不備があると、別人のアカウントとして扱われたり、不正にログインされたり、本来は見られない情報へアクセスされたりするおそれがあります。
この記事では、Google・LINEログインで使われるOpenID Connectの仕組みと、開発会社に確認しておきたいポイントをわかりやすくご紹介します。
Google・LINEログインはどんな仕組みになっている?
OpenID Connectは、GoogleやLINEで行った本人確認の結果を、自社サイトのログインに利用する仕組みです。
ログインには、主に次の三者が関わります。
- 利用者:自社サイトのログインボタンを押し、GoogleやLINEの画面で本人確認を行います。
- GoogleまたはLINE:本人確認を行い、その結果をIDトークンとして自社サイトへ伝えます。
- 自社のWebシステム:受け取った結果が正しいかを確認し、どのアカウントでログインさせるか、どこまで利用を許可するかを決めます。
IDトークンは、本人確認の結果を伝えるデジタルの証明書のようなものです。
自社サイト側では、このIDトークンが本当に自社向けのものか、途中で内容を変えられていないかなどを確認します。
つまり、GoogleやLINEの画面で本人確認に成功したからといって、それだけでログイン後まで安全とは言い切れません。
GoogleやLINEから受け取った結果を、自社サイト側で正しく確認していることも大切です。
開発会社に確認しておきたい3つのポイント
細かな技術や設定は、開発会社や管理を任せている会社に確認すれば問題ありません。
自社で押さえておきたいのは、次の3点です。
まずは、現在のログイン設定について「誰に聞けばわかるのか」も確認しておきましょう。
1. 本人確認の後に正しい画面へ戻る設定になっているか
GoogleやLINEで本人確認をした後、認証結果が自社で許可した正しい戻り先へ送られる設定になっているかを確認します。
誤った送信先まで許可されていると、認証結果が意図しない場所へ渡るおそれがあります。
開発会社には、「本人確認後の戻り先となるredirect URIが、自社で許可したものだけに限定されているか」と確認すると伝わりやすいでしょう。
2. 今回のログイン操作と認証結果がきちんと結びついているか
ログインを始めたときの操作と、戻ってきた認証結果が正しく対応しているかも重要です。
別の操作で作られた結果まで受け入れてしまうと、ログインのすり替えや認証結果の再利用につながる可能性があります。
この確認に使われるのが、stateやnonceと呼ばれる値です。
開発会社には、ログインのたびに新しい値を発行し、戻ってきたときに正しく確認しているかを見てもらいましょう。
3. 自社向けの正しい認証結果か
受け取ったIDトークンが本当にGoogleやLINEから発行されたものか、自社サービス向けのものか、途中で内容を変えられていないかも確認します。
開発会社には、issuer(発行元)、audience(利用先)、署名、有効期限などを認証ライブラリで正しく確認しているかを見てもらいましょう。
設定そのものは開発会社に任せつつ、現在の状態を説明できる担当者は把握しておくことが大切です。
確認を依頼する前に、社内でも次の情報をそろえておくと話がスムーズです。
- Google・LINEログインを設置している画面を一覧にします。
- 顧客、会員、従業員、管理者など、誰が利用するかを整理します。
- 設定を管理している制作会社、開発会社、運用会社を確認します。
- ログイン機能を最後に変更した時期と、現在の確認担当者を把握します。
- 異常が起きたときの記録を確認できる場所と、利用停止を判断する責任者を決めます。
もし不審なログインが疑われる場合は、原因を調べるための記録を消さず、アカウント停止などを判断できる担当者へ早めに連絡しましょう。
技術担当者がもう少し詳しく確認するときは、次の記事も参考になります。
- IDトークンの構造や検証を確認する場合は、JWTトークンのセキュリティ診断を確認できます。
- ログイン後のCookieやセッションを確認する場合は、セッション管理の脆弱性診断を確認できます。
- API全体の認証・認可を確認する場合は、REST APIのセキュリティ診断を確認できます。
開発会社と専門診断、どちらに頼めばいい?
Google・LINEログインの安全性が気になっても、「どこに確認を頼めばいいのかわからない」という方もいるでしょう。
開発会社による確認と専門のセキュリティ診断では、確認できる部分が少し異なります。
開発会社や管理を任せている会社では、Google・LINE側の管理画面や利用中の認証ライブラリ、自社サイトのプログラムなどを確認し、必要に応じて設定変更や修正を行います。
専門診断では、外部から実際のログイン経路やログイン後の状態を調べ、設定画面を確認するだけでは気づきにくい問題がないかをチェックできます。
専門診断を依頼するときは、現在使っているGoogle・LINEログインが診断対象に含まれるか、あらかじめ確認しておくと安心です。
『セキュリティー診断さん』へ相談する場合も、対象となるログイン画面や利用者の種類を伝えることで、自社だけでは判断しにくい部分をどのように確認するか相談できます。
特に、次のような状況なら一度確認しておくと安心です。
- Google・LINEログインを導入してから、セキュリティ面を十分に確認したことがありません。
- 制作会社や開発会社が変わり、現在の設定を把握している担当者がわかりません。
- ログイン機能や会員機能を改修しました。
- 顧客用と管理者用など、重要度の異なるログインで同じ認証の仕組みを利用しています。
普段のログインに異常がなくても、システムの改修や担当会社の変更は、安全性を改めて確認するよいタイミングです。
問題が起きる前に確認しておけば、必要な対応も進めやすくなります。
診断結果を修正と再確認に活かす
診断で問題が見つかったら、まずは問題のあるログイン画面や処理を確認し、開発会社や管理を任せている会社へ修正を依頼します。
修正を依頼するときは、その後の再確認まで含めて進め方を決めておきましょう。
『セキュリティー診断さん』などの診断結果は、修正する場所や対応する順番を決める際にも活用できます。
修正後に該当するログイン経路をもう一度確認すれば、対応した内容がきちんと反映されているかも確かめられます。
社内には、診断日、確認したログイン画面、見つかった問題、修正内容、再確認の結果を残しておきましょう。
記録を残しておけば、次にシステムを改修するときや担当会社が変わったときにも、どこまで確認済みなのかを引き継ぎやすくなります。
まとめ:便利なGoogle・LINEログインだからこそ安全性も確認しよう
Google・LINEログインの安全性を考えるうえで大切なのは、GoogleやLINE側だけでなく、自社サイト側の設定や処理まで確認することです。
まずは、Google・LINEログインを使っている画面や利用者、設定を管理している会社を把握し、今回ご紹介した3つのポイントを開発会社などに確認してもらいましょう。
自社だけでは安全性を判断しにくい場合や、外部から実際のログイン経路まで確かめたい場合は、専門のセキュリティ診断を活用する方法もあります。
『セキュリティー診断さん』では、自社だけでは判断しにくいGoogle・LINEログインの安全性について相談できます。
便利なログイン機能をこれからも安心して使い続けるために、まずは現在の状態を一度確認してみませんか?
関連記事
同じテーマを深掘りしやすい記事を優先して表示しています。