データを守る基本技術、暗号化・ハッシュ・アクセス制御。 セキュリティ問題で頻出。
データのセキュリティって、結局どんな技術で守るの?
主要な3要素は (1)暗号化、(2)ハッシュ、(3)アクセス制御よ。
暗号化は『データを別形式に変換し、鍵がないと元に戻せないようにする』。 主要な分類は共通鍵暗号と公開鍵暗号。
違いは?
共通鍵=同じ鍵で暗号化・復号(AES等、高速)、 公開鍵=暗号化と復号で別の鍵を使う(RSA等、安全だが遅い)。 実務では『公開鍵で共通鍵を交換し、その後共通鍵で本体を暗号化』のハイブリッド方式が一般的。
ハッシュは?
任意のデータから固定長の値(ハッシュ値)を計算する一方向関数。 暗号化と違い『元に戻せない』のが特徴。 SHA-256・SHA-3 等が現代のスタンダード。
用途: パスワード保管(平文では保存しない)、データ改ざん検知、ブロックチェーン。 ハッシュ関数は同じ入力からは必ず同じ出力が出る決定的関数。
アクセス制御は?
『誰が・何を・どう使えるか』を制御する。 代表的な方式がロールベースアクセス制御(RBAC)と属性ベースアクセス制御(ABAC)。
RBAC=役割ごとに権限を割り当て(管理者・一般・閲覧のみ等)、 ABAC=属性(部署・時刻・場所等)で動的に判断。 細かい制御にはABACが向く。
ゼロトラストって何?
従来の『社内ネットワークなら信頼』ではなく、すべてのアクセスを検証する考え方。 リモートワーク時代に注目される設計思想。
DS検定★では『暗号化(共通鍵vs公開鍵)』『ハッシュは一方向』『RBAC/ABAC・ゼロトラスト』を押さえて。
確認クイズ
パスワード保管で最も適切な方式はどれか。
- 平文でDBに保存
- 共通鍵暗号で暗号化して保存
- ソルト付きハッシュ値を保存し、認証時にも同じハッシュ計算で照合する
- 圧縮して保存
こたえを見る
正解: 3. ソルト付きハッシュ値を保存し、認証時にも同じハッシュ計算で照合する
ソルト付きハッシュ値を保存し、認証時にも同じハッシュ計算で照合するのがパスワード保管の正解。 平文・暗号化保存はDBが漏洩したら復号されるリスクがあります。 ハッシュは一方向なので、漏洩しても元のパスワードは復元不可能(レインボーテーブル対策のソルト併用が必須)。