論文一覧に戻る 📚 用語集トップ 🗺 概念マップ
📚 用語解説
📚 用語解説
情報セキュリティ
Information Security
セキュリティ

🔖 キーワード索引

情報セキュリティInformation Securityセキュリティ

本ページは 情報セキュリティ(Information Security)を多角的に解説します。 上のチップは、 検索・関連語の手がかりです。

💡 30秒で分かる結論

📍 文脈 — どこで使う概念か

情報セキュリティ(Information Security)は AI・データサイエンスの 必須前提条件です。 個人データを扱う際の法的責任、 モデルや学習データの保護、 敵対的サンプル攻撃への対処など、 専門領域として深い知識が求められます。 GDPR の制定(2018)以降、 違反企業には 売上の 4%もの罰金が科され、 経営課題となっています。

🎨 直感で掴む — 具体例で理解する

セキュリティの 3 本柱 CIA トライアドを理解しましょう:

意味
機密性 (Confidentiality)正当な人だけがアクセスできる暗号化、 認証、 アクセス権限
完全性 (Integrity)データが改ざんされないハッシュ、 電子署名、 ブロックチェーン
可用性 (Availability)必要なときに使える冗長化、 バックアップ、 DDoS 対策

AI 特有のセキュリティ脅威:

📐 定義・数式

暗号化の基本:

【共通鍵暗号と公開鍵暗号】
$$c = \mathrm{Enc}_k(m), \quad m = \mathrm{Dec}_k(c)$$
$m$ = 平文、 $c$ = 暗号文、 $k$ = 鍵。 AES, RSA, ECC など

パスワードのハッシュ化(不可逆変換):

【ハッシュ関数】
$$h = H(m), \quad H: \{0,1\}^* \to \{0,1\}^n$$
任意長の入力から固定長 $n$ の出力。 SHA-256, bcrypt, Argon2 など。 入力推定が計算量的に困難

🔬 記号・要素の読み解き

$\mathrm{Enc}_k, \mathrm{Dec}_k$
鍵 $k$ による暗号化/復号関数
共通鍵
暗号化と復号で同じ鍵を使う(AES)。 高速だが鍵配送問題あり
公開鍵
公開鍵で暗号化、 秘密鍵で復号(RSA)。 鍵交換が安全
ハッシュ関数 $H$
一方向関数。 入力から出力は容易だが、 逆は計算困難
衝突耐性
異なる入力で同じハッシュになる確率が無視できる
Salt(ソルト)
ハッシュにランダム値を加え、 レインボーテーブル攻撃を防ぐ

🧮 数値例・実値計算

例:パスワード保存の正しい方法(コストと安全性の比較):

手法計算時間安全性
平文保存0ms❌ 漏洩で全アカウント突破
SHA-256(1回)0.001ms⚠️ GPU で総当たり可能
SHA-256 + Salt0.001ms⚠️ 個別総当たりは可能
bcrypt (cost=12)250ms✅ 強い。 推奨
Argon2id500ms✅ 最新の推奨

低速ハッシュ(bcrypt, Argon2)で 1 パスワードあたり 0.25 秒かかれば、 攻撃者の総当たりも 25 億倍遅くなります。

🐍 Python 実装例

最小コードで動かしてみる例:

 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('認証失敗')

⚠️ よくある落とし穴

❌ 平文ログ出力
デバッグでパスワードや個人情報をログに残すと、 ログサーバ漏洩で全てが流出。 マスキング必須。
❌ ハードコーディング
API キーやパスワードを GitHub にプッシュすると、 数分でボットが見つけて悪用する。 環境変数 + Secret Manager で。
❌ 古い暗号方式
MD5, SHA-1, DES は脆弱性が確立済み。 必ず AES-256, SHA-256+, Argon2 を使う。
❌ 内部脅威の軽視
外部攻撃ばかり警戒し、 内部社員の不正アクセスを見落とす。 最小権限原則と監査ログが必須。
❌ セキュリティとUXの誤った二者択一
MFA や強パスワードは UX を悪化させない。 適切に設計すれば両立可能。