◀ 6.

Web認証の仕組み|Google OAuth 2.0・reCAPTCHAと認証・認可の違い

▶

本稿は 認証系の Web サービス・仕組みに関する記事です。Web アプリで「誰がアクセスしているか」を確認するための方式・サービスをまとめます。

子ページから項目を選択してください。

本ページの子ページ

  • Google OAuth 2.0 — Google アカウントでのソーシャルログイン
  • reCAPTCHA — bot 排除のためのチャレンジ

認証 (Authentication) と認可 (Authorization)

用語意味例
認証 (Authentication / AuthN)誰であるかを確認ID + パスワード、生体認証
認可 (Authorization / AuthZ)何ができるかを許可ロール (管理者・一般)、権限スコープ
監査 (Auditing)いつ・誰が・何をしたか記録監査ログ、SIEM

代表的な認証方式

方式用途特徴
パスワード認証もっとも基本強度・漏洩リスクが課題。多要素 (MFA) との併用必須
多要素認証 (MFA / 2FA)知識 + 所持 + 生体の組み合わせTOTP (Google Authenticator)、SMS、プッシュ通知
パスキー (FIDO2 / WebAuthn)パスワードレス端末の生体認証+公開鍵暗号。フィッシング耐性
シングルサインオン (SSO)1 回認証で複数サービスSAML 2.0、OIDC、Azure Entra ID、Okta
OAuth 2.0API への認可委譲アクセストークン。スコープで権限制御
OpenID Connect (OIDC)OAuth 2.0 を拡張したログインID トークン (JWT)。ソーシャルログインの標準
API キー機械対機械シンプルだが万能ではない。利用範囲を絞る
クライアント証明書高セキュリティmTLS。社内 / 政府系で利用
LDAP / AD 連携社内認証既存の Active Directory に統合
SAML 2.0エンタープライズ SSOXML ベース。SaaS 連携で多用

主な認証関連サービス・ライブラリ

サービス位置づけ
Auth0マルチテナント IDaaS。アプリへの認証導入が短時間
Firebase Authenticationモバイル・Web 向け。Google 系
Azure Entra ID (旧 Azure AD)マイクロソフト系の SSO / SCIM / Conditional Access
OktaSSO / IDaaS の老舗
AWS CognitoAWS の認証基盤
Google OAuth / Sign InGoogle アカウントでのログイン (こちら)
KeycloakOSS の認証基盤 (Red Hat)
LINE / X / Facebook ログイン各 SNS の OAuth/OIDC ログイン
WebAuthn / FIDO2標準仕様。Yubikey / 生体認証 / パスキー
reCAPTCHAbot 対策 (こちら)

セッション管理

仕組み概要
セッション Cookieサーバ側にセッションを保持、Cookie に ID。HttpOnly + Secure + SameSite
JWT (JSON Web Token)署名付き自己完結トークン。サーバ側のセッション保持が不要だが、失効が難しい
リフレッシュトークン短命アクセストークン + 長命リフレッシュ。OAuth 2.0 の典型
Idle / Absolute タイムアウト無操作 / 絶対時間の 2 段

パスワードに関する基本

  • 保存は必ずソルト付きハッシュ (bcrypt / argon2)。MD5/SHA1 は不可
  • パスワードの使い回し検知 (Have I Been Pwned 等)
  • 長さ・複雑度の過度な制約はかえって弱くなる。長さ重視 (12 文字以上)
  • ログイン失敗のレートリミットとロックアウト
  • パスワードレス (パスキー) を最終目標に

セキュリティ上の脅威と対策

脅威対策
パスワード総当たり (Brute Force)レートリミット、CAPTCHA、ロックアウト
クレデンシャルスタッフィング2FA、漏洩パスワード検査
フィッシングパスキー、ドメインバインド認証
セッションハイジャックHTTPS、HttpOnly / Secure / SameSite Cookie、トークン再発行
CSRFCSRF トークン、SameSite=Lax/Strict
XSS によるトークン窃取HttpOnly Cookie、CSP、入力エスケープ
ボット登録reCAPTCHA、メール認証、行動分析

運用設計のポイント

  • 認証ログの保管・監査 (ログイン成功・失敗・ロック)
  • SSO + プロビジョニング (SCIM) で入退社運用を自動化
  • 秘密情報 (Secret / API キー / 証明書) のSecrets Manager 管理
  • パスワードリセット導線 (メール / SMS / 本人確認)
  • 退会・データ削除のフロー (GDPR 等)

注意点

  • 自前で認証を作るより、IDaaS / OAuth プロバイダを使う方が安全なケースが多い
  • 独自実装の MD5/SHA1 + ソルト無しは事実上ノーガード
  • OAuth 2.0 を「ログイン」として使うのは厳密には誤り。OIDC を使う
  • 「2FA を SMS のみで実装」は SIM スワッピング攻撃に弱い。アプリ認証 / パスキーを優先
  • 監査・退会・侵害対応を最初から設計に組み込む

関連

Post Share
子ページ
  1. Google OAuth 2.0
  2. reCAPTCHA
同階層のページ
  1. 動画・音楽配信
  2. ECサイト
  3. クラウド
  4. SNS
  5. レンタルサーバー
  6. 認証
  7. プラットホーム
  8. ネットワーク
  9. その他