本ページは 情報セキュリティ(Information Security)を多角的に解説します。 上のチップは、 検索・関連語の手がかりです。
情報セキュリティ(Information Security)は AI・データサイエンスの 必須前提条件です。 個人データを扱う際の法的責任、 モデルや学習データの保護、 敵対的サンプル攻撃への対処など、 専門領域として深い知識が求められます。 GDPR の制定(2018)以降、 違反企業には 売上の 4%もの罰金が科され、 経営課題となっています。
セキュリティの 3 本柱 CIA トライアドを理解しましょう:
| 柱 | 意味 | 例 |
|---|---|---|
| 機密性 (Confidentiality) | 正当な人だけがアクセスできる | 暗号化、 認証、 アクセス権限 |
| 完全性 (Integrity) | データが改ざんされない | ハッシュ、 電子署名、 ブロックチェーン |
| 可用性 (Availability) | 必要なときに使える | 冗長化、 バックアップ、 DDoS 対策 |
AI 特有のセキュリティ脅威:
暗号化の基本:
パスワードのハッシュ化(不可逆変換):
例:パスワード保存の正しい方法(コストと安全性の比較):
| 手法 | 計算時間 | 安全性 |
|---|---|---|
| 平文保存 | 0ms | ❌ 漏洩で全アカウント突破 |
| SHA-256(1回) | 0.001ms | ⚠️ GPU で総当たり可能 |
| SHA-256 + Salt | 0.001ms | ⚠️ 個別総当たりは可能 |
| bcrypt (cost=12) | 250ms | ✅ 強い。 推奨 |
| Argon2id | 500ms | ✅ 最新の推奨 |
低速ハッシュ(bcrypt, Argon2)で 1 パスワードあたり 0.25 秒かかれば、 攻撃者の総当たりも 25 億倍遅くなります。
最小コードで動かしてみる例:
1 2 3 4 5 6 7 8 9 10 11 | import bcrypt # パスワード保存(強いハッシュ + salt) password = b'my_secret_password' hashed = bcrypt.hashpw(password, bcrypt.gensalt(rounds=12)) # 認証時の検証 if bcrypt.checkpw(password, hashed): print('認証成功') else: print('認証失敗') |