QUIZ 15分

Q1. ゼロトラストの基本原則として最も適切なのはどれか?

A. 社内ネットワークは信頼し、外部ネットワークのみ検証する B. VPNで接続したデバイスは全て信頼する C. ネットワークの場所に関係なく、全てのアクセスを検証する D. ファイアウォールの境界防御を最優先で強化する

答えを見る

正解: C

ゼロトラストの原則は「Never Trust, Always Verify(決して信頼せず、常に検証する)」です。NIST SP 800-207では、ネットワーク上の位置に関係なく、全てのリソースへのアクセスをセッション単位で検証することを求めています。従来の境界防御モデル(A, B, D)では、一度内部に入った攻撃者のラテラルムーブメントを防げません。


Q2. OAuth 2.0の Authorization Code Flow + PKCE において、PKCEの主な目的はどれか?

A. トークンの暗号化強度を高める B. Authorization Code の横取り攻撃を防止する C. リフレッシュトークンの有効期限を延長する D. ユーザーのパスワードを安全に保存する

答えを見る

正解: B

PKCE(Proof Key for Code Exchange)は、Authorization Codeの横取り攻撃(interception attack)を防止するための仕組みです。クライアントが認可リクエスト時にcode_challengeを送り、トークン交換時にcode_verifierを送ることで、コードを横取りした攻撃者がトークンを取得できないようにします。特にネイティブアプリやSPAなど、client_secretを安全に保持できないパブリッククライアントで必須です。


Q3. JWTのセキュリティベストプラクティスとして正しくないのはどれか?

A. アルゴリズムにRS256またはES256を使用する B. Access Tokenの有効期限を15分程度に設定する C. トークンをlocalStorageに保存してXSSから保護する D. alg, iss, aud, exp の全てを検証する

答えを見る

正解: C

localStorageはJavaScriptから自由にアクセスできるため、XSS攻撃で容易にトークンを窃取されます。JWTはHttpOnly + Secure + SameSite属性付きのCookieに保存すべきです。HttpOnly属性によりJavaScriptからのアクセスが禁止され、XSSによるトークン窃取を防止できます。他の選択肢はいずれもベストプラクティスとして正しい設定です。


Q4. RBAC、ABAC、ReBACの使い分けとして最も適切なのはどれか?

A. RBACはドキュメント共有に最適、ReBACは組織階層に最適 B. ABACはシンプルなロール管理に最適、RBACは複雑なポリシーに最適 C. RBACは組織のロールが明確な場合、ABACはきめ細かな動的制御が必要な場合に使う D. ReBACは全ての場面で最も推奨されるアクセス制御モデルである

答えを見る

正解: C

各アクセス制御モデルの適切な使い分け:

  • RBAC: 組織のロール(管理者、開発者、閲覧者)が明確な場合に最適。シンプルだが、権限の組み合わせが増えると「ロール爆発」が起きやすい。
  • ABAC: ユーザー属性(部門、クリアランスレベル)、リソース属性(分類)、環境属性(時間帯、デバイス信頼度)を組み合わせたきめ細かな制御に最適。
  • ReBAC: リソース間の関係性(フォルダの所有者はフォルダ内の文書も閲覧可能)に基づく制御に最適。Google Zanzibar/SpiceDBで実装。

Q5. Kubernetes NetworkPolicyでデフォルト拒否を実現する正しい設定はどれか?

A. podSelector: {}と空のIngress/Egressルール B. podSelector: {matchLabels: {deny: "all"}} C. NetworkPolicyを作成せず、デフォルトの設定に任せる D. policyTypes: ["Ingress", "Egress"]podSelector: {}で、ingress/egressルールを定義しない

答えを見る

正解: D

Kubernetes NetworkPolicyでデフォルト拒否を実現するには、podSelector: {}で全Podを対象にし、policyTypesでIngress/Egressを指定しつつ、具体的なingress/egressルールを定義しません。これにより、明示的に許可するNetworkPolicyがない限り、全ての通信がブロックされます。注意点として、KubernetesのデフォルトではNetworkPolicyがない場合は全通信が許可されるため(C)、明示的にデフォルト拒否ポリシーを作成する必要があります。


Q6. エンベロープ暗号化の説明として正しいのはどれか?

A. データを2回暗号化して二重の保護を行う手法 B. データキーでデータを暗号化し、マスターキーでデータキーを暗号化する手法 C. 公開鍵と秘密鍵を交互に使ってデータを暗号化する手法 D. データをハッシュ化してから暗号化する手法

答えを見る

正解: B

エンベロープ暗号化は、「データキー(DEK: Data Encryption Key)」でデータを暗号化し、「マスターキー(CMK/KEK: Customer Master Key / Key Encryption Key)」でデータキーを暗号化する手法です。マスターキーはKMS内で管理され外部に出ません。AWS KMSではこのパターンが標準です。利点として、大量のデータに対してもマスターキーの使用回数が少なく、鍵のローテーションが容易です。


Q7. GDPRの「忘れられる権利」(第17条)の技術的実装として適切でないのはどれか?

A. ユーザーの個人情報を完全に削除する B. 法的保持義務のある注文データを匿名化する C. 削除リクエストの監査ログを記録する D. バックアップからの復元時にも削除済みデータを復元する

答えを見る

正解: D

「忘れられる権利」に基づきデータ削除を行った場合、バックアップからの復元時にも削除済みデータが復元されてはなりません。技術的対策としては、暗号学的消去(暗号鍵の破棄)やバックアップの有効期限管理、復元時の削除リストとの照合などがあります。A, B, Cはいずれも適切な実装です。特にBの匿名化は、法的保持義務(例:税法上の取引記録保持)がある場合に個人情報部分だけを削除する方法として重要です。


Q8. BeyondCorp(Googleのゼロトラスト実装)の特徴として正しくないのはどれか?

A. VPNを使用せずに社内リソースにアクセスする B. デバイスの信頼度をスコアリングしてアクセス制御に利用する C. ネットワークの場所に基づいてアクセスを許可する D. Identity-Aware Proxyを通じて全てのアクセスを制御する

答えを見る

正解: C

BeyondCorpの最大の特徴は、ネットワークの場所を信頼しないことです。社内ネットワークにいるかどうかに関係なく、全てのアクセスはIdentity-Aware Proxy(IAP)を通じて制御されます。アクセス判定は、ユーザーのアイデンティティ、デバイスの信頼度スコア、アクセス対象のリソースポリシーに基づいて行われます。「ネットワークの場所に基づいてアクセスを許可する」のは従来の境界防御モデルの考え方であり、ゼロトラストとは矛盾します。


合格基準

  • 合格スコア: 80%(8問中7問以上正解)
  • 不合格の場合は、Step 2の各レッスンを復習してください

推定読了時間: 15分