基本情報技術者 2015年 春期 午前(科目A) 問39
問題文
データベースで管理されるデータの暗号化に用いることができ、かつ、暗号化と復号で同じ鍵を使用する暗号化方式はどれか。
選択肢
ア:AES(正解)
イ:PKI
ウ:RSA
エ:SHA-256
🔒 解説は解答すると表示されます
共通鍵暗号方式【午前解説】
正解の理由
AES(Advanced Encryption Standard)は対称鍵暗号で、暗号化と復号の両方に同じ秘密鍵を使用します。データベースの「暗号化・復号」に求められる操作(保存時の暗号化、読み取り時の復号)を同一鍵で行う用途に適合します。AESはブロック暗号として広く採用され、性能と安全性のバランスが良く、TDE(Transparent Data Encryption)や列単位暗号化でも多用されます。
解法ステップ
- 問題文の条件を確認:「暗号化と復号で同じ鍵を使用する」→対称鍵暗号を指す。
- 各選択肢の性質を判定:AES(対称)、PKI(基盤・管理)、RSA(非対称)、SHA-256(ハッシュ)。
- 対称鍵暗号に該当する選択肢を選ぶ:該当はAESのみ。よってアが正解。
選択肢別の誤答解説
- ア: AES — 正解。対称鍵(同じ鍵で暗号化と復号)を用いるブロック暗号で、データベース暗号化に一般的。
- イ: PKI — 誤り。公開鍵基盤(鍵管理・証明書の仕組み)であって単独の暗号アルゴリズムではない。
- ウ: RSA — 誤り。公開鍵暗号(非対称)で、暗号化と復号に別々の鍵(公開鍵/秘密鍵)を使用する。
- エ: SHA-256 — 誤り。ハッシュ関数で一方向性のため復号ができず、暗号化方式ではない。
よくある誤解
- 「PKI(Public Key Infrastructure)が鍵そのもの」:PKIは公開鍵基盤であり、暗号アルゴリズムではなく鍵や証明書の管理体制を指します。
- 「RSA=同じ鍵を使う暗号」:RSAは公開鍵と秘密鍵のペアを用いる非対称暗号で、暗号化と復号で異なる鍵を使います。
- 「SHA-256で復号できる」:SHA-256はハッシュ関数で一方向性、元データを復号することは設計上できません。
補足コラム
データベース暗号化でAESを使う際の実務ポイント:
- モード選択:CBCやGCMなどの動作モードを適切に選ぶ。GCMは認証付き暗号で改ざん検知が可能です。
- IV(初期化ベクトル):CBCなどではIVを適切に扱い、再利用してはいけません。
- 鍵管理:鍵を安全に保管・ローテーションすることが最重要。KMS(鍵管理サービス)やHSMの利用が推奨されます。
- 利用形態:フルディスク暗号、TDE、列・行レベル暗号化、アプリケーション側暗号化のいずれかを要件に応じて選択します。
参考の簡単なPython例(AES-GCMによる暗号化・復号のイメージ):
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
import os
key = AESGCM.generate_key(bit_length=256)
aesgcm = AESGCM(key)
nonce = os.urandom(12)
plaintext = b"secret data"
ciphertext = aesgcm.encrypt(nonce, plaintext, None)
decrypted = aesgcm.decrypt(nonce, ciphertext, None)
assert decrypted == plaintext
FAQ
Q. なぜRSAを選ぶべき場面はあるのですか?
A. RSAは鍵交換やデジタル署名など非対称の利点が必要な場面(安全な鍵配布、認証)で有効です。実際の大量データ暗号化は対称鍵が高速で適しています。
A. RSAは鍵交換やデジタル署名など非対称の利点が必要な場面(安全な鍵配布、認証)で有効です。実際の大量データ暗号化は対称鍵が高速で適しています。
Q. ハッシュ関数はどんな用途に使うのですか?
A. パスワードの保存(ソルト付きハッシュ)、データの整合性検査、デジタル署名の一部など一方向性が求められる用途です。
A. パスワードの保存(ソルト付きハッシュ)、データの整合性検査、デジタル署名の一部など一方向性が求められる用途です。
Q. データベース暗号化は必ずAESを使うべきですか?
A. AESが最も一般的で実用的ですが、要件により他の対称暗号や追加の認証付き暗号を検討することがあります。鍵管理と運用が重要です。
A. AESが最も一般的で実用的ですが、要件により他の対称暗号や追加の認証付き暗号を検討することがあります。鍵管理と運用が重要です。
関連キーワード: AES、対称鍵暗号、公開鍵暗号、RSA、PKI、SHA-256、ハッシュ関数、暗号化方式、データベース暗号化、鍵管理、TDE、GCM、IV

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

