認証
わかりやすかった記事はこちらです。
日本語の「認証」
広辞苑での「認証」に関する記載をもとに、以下の分類が行われており、非常にわかりやすい整理だと感じました。
個人的にはマイナンバーの例から、ネットワークの例を想起しました。
現実の世界 | ネットワークの世界 | |
---|---|---|
公の機関による証明(Certification) | 新潟市民が役所でマイナンバーカードを発行してもらう | ドメインの所有者が認証局(CA)からSSL/TLS証明書を取得する |
本人確認(Identity Proofing) | 新潟市民が北陸銀行でマイナンバーカードを提示することで、(役所が発行した身分証を持つ)本人であることを示す | ドメインの所有者はWebサイト上でDV証明書が表示されていることによってドメインが認証されていることを示す |
英語の「Authentication」
- 「ユーザ認証」 とは、「ユーザの識別」と「身元の検証」
- システムを利用しようとしているユーザを、システムに登録済みのユーザかどうか(ユーザ名等によって)識別し、ユーザが主張する身元を検証する(パスワード等によって)プロセス。
※ 実際はユーザ認証のプロセスに「ユーザの有効/無効状態の確認」、「検証に成功した場合の身元の保証(アクセストークンの発行等)」なども含まれる。
認証器
身元の検証に必要なデータを保管・生成するためにユーザが所持している具体的な手段。
例えば、パスワード、PINコード、指紋、スマートカード、USBトークン等。
多要素認証と単要素認証
- 記憶情報(Something you know): パスワード、PINコード等
- 所持情報(Something you have):USBトークン、スマートカード等
- 生体情報(Something you are):指紋、顔等
※ 「2段階認証」は(おそらく)日本でのみ使われる方言
※ 同分類の認証要素を2つ使う場合は単要素認証となり、セキュリティ強度的にはあまり意味がない
認可
ここからはついでで、『「認証」を整理する』記事と同様のフォーマットで、ChatGPTに厳密な定義を求めたところ、以下のリンクを参照して作成してくれたものです。
- Guide to Attribute Based Access Control (ABAC) Definition and Considerations | NIST (NIST)
- Authorization - Glossary | CSRC (NIST Computer Security Resource Center)
- SP 800-37 Rev. 2, Risk Management Framework for Information Systems and Organizations (NIST Computer Security Resource Center)
- SP 800-53 Rev. 5, Security and Privacy Controls for Information Systems and Organizations (NIST Computer Security Resource Center)
日本語の「認可」
1 適当と認めて、許可すること。
2 公の機関(行政庁)が第三者の行為を補充して、その法律上の効力を完成させる行政行為。「保育所の設立を—する」→許可デジタル大辞泉 - 小学館
https://www.weblio.jp/content/%E8%AA%8D%E5%8F%AF
「認可」の用法 | 対応する英語 | 具体例 |
---|---|---|
公の機関による許可 | Approval | 建築許可、営業許可など |
特定の行為に対する権限の付与 | Authorization | ファイルアクセス権限の付与 |
リソースへのアクセス制御 | Access Control | アクセス制御リスト(ACL)による制限 |
そのほかの例:
- プロジェクトの予算を上司が承認する(Approval)
- APIキーを使って、特定のユーザだけがAPIを利用できるように設定する(Authorization)
- 会社のオフィスに入るために社員証をスキャンし、許可された区域にのみアクセスできる(Access Control)
英語の「Authorization」
- 「ユーザ認可」とは、「アクセス権の確認」と「リソースの制限」
- システムを利用しようとしているユーザが、システム内の特定のリソースや機能にアクセスする権限を持っているかどうかを確認し、適切なアクセス制限を適用するプロセス。
※ 実際はユーザ認可のプロセスに「アクセスレベルの適用」、「アクセス記録の保持」、「ポリシーの適用」なども含まれる。
※ ISO/IEC 27001:2013 では、認可は情報セキュリティ管理システムの一部として、組織の情報資産を保護するためのアクセス制御の手段と定義されている。
認可モデル
ロールベースアクセス制御(RBAC: Role-Based Access Control)
ユーザは特定のロール(役割)に割り当てられ、そのロールに基づいてアクセス権が決定される。
例えば、管理者、編集者、閲覧者等。
属性ベースアクセス制御(ABAC: Attribute-Based Access Control)
ユーザやリソースの属性に基づいてアクセス権が決定される。
例えば、ユーザの役職、部門、プロジェクトの状態等。
感想
簡単ににまとめると、認証はWebサイトのログイン、認可はAWSやGoogle CloudのIAMで行われることのイメージそのものですね。