認証と認可の基礎
Webサービスのセキュリティの要である「認証」と「認可」について、 日常生活の例を交えながら分かりやすく解説します。
まず理解しよう:認証と認可の違い
認証(Authentication)
「あなたは誰ですか?」を確認するプロセス。本人確認のようなもので、IDとパスワードなどで身元を証明します。
日常の例:
銀行ATMでキャッシュカードと暗証番号を入力
スマホの指紋認証や顔認証でロック解除
会社の入館証をカードリーダーにかざす
認可(Authorization)
「何ができますか?」を決めるプロセス。認証された後、その人に何を許可するかを判断します。
日常の例:
社員証で入れるエリアが部署によって違う
動画配信サービスの無料会員と有料会員の違い
ファイルの読み取り専用と編集可能の権限
🏨 ホテルで例えると...
認証:フロントでチェックイン時に身分証明書を見せて本人確認
認可: 渡されたルームキーで入れる部屋が決まる(他の部屋には入れない)
認証・認可の主要技術
OAuth 2.0
認可フレームワーク
「Googleでログイン」のような、他サービスのアカウントで認証・認可を行う仕組み。安全に権限を委譲できます。
詳しく学ぶ
OpenID Connect (OIDC)
認証レイヤー
OAuth 2.0の上に構築された認証の仕組み。ユーザー情報を安全に取得でき、シングルサインオンを実現します。
詳しく学ぶ
多要素認証 (MFA)
セキュリティ強化
パスワードだけでなく、SMSコードや認証アプリなど複数の要素で本人確認を行い、セキュリティを高めます。
詳しく学ぶ
私の仕事について
OIDC開発エンジニア
OIDC準拠認証サーバーを開発する「デジタルセキュリティガード」の日常をご紹介します。
詳しく学ぶ
作成中
JWT (JSON Web Token)
トークンベース認証
ユーザー情報を含む暗号化されたトークン。サーバー間で安全に情報をやり取りできます。
作成中
SAML
企業向けSSO
企業環境でよく使われるシングルサインオンの標準規格。一度のログインで複数のサービスを利用できます。
知っておきたいセキュリティの基礎
パスワード管理
- •8文字以上で大小英数字と記号を混ぜる
- •サービスごとに異なるパスワードを使用
- •パスワードマネージャーの活用を推奨
- •定期的な変更より強固なパスワードが重要
セッション管理
- •ログイン状態を保持する仕組み
- •一定時間操作がないと自動ログアウト
- •共有PCでは必ずログアウトする
- •HTTPSでの通信で盗聴を防ぐ
フィッシング対策
- •URLが正しいか必ず確認
- •不審なメールのリンクはクリックしない
- •HTTPSと鍵マークを確認
- •二要素認証を有効にする
Cookie とトークン
- •Cookieはブラウザに保存される小さなデータ
- •セッションCookieとパーシステントCookie
- •トークンは認証情報を含む文字列
- •適切な有効期限の設定が重要
アクセス制御
- •最小権限の原則を守る
- •役割ベースのアクセス制御(RBAC)
- •定期的な権限の見直し
- •監査ログの記録と確認
暗号化
- •通信の暗号化(HTTPS/TLS)
- •パスワードのハッシュ化保存
- •重要データの暗号化
- •エンドツーエンド暗号化の理解
🎯 まとめ
認証と認可は、デジタル世界の安全を守る重要な仕組みです。
認証で「誰か」を確認し、認可で「何ができるか」を制御することで、
安全で使いやすいサービスが実現されています。
日々利用するサービスでも、これらの技術が私たちの情報を守っています。