セキュリティ基礎
- セキュリティ基礎 タイミング攻撃と定数時間比較:== と hash_equals を実測する セキュリティ基礎講座6。== と hash_equals・compare_digest を一致長ごとに計測し、プロセス内とループバック HTTP で検出できるかを統計付きで比較。会員の有無が127倍の時間差で漏れるログインも実測。
- セキュリティ基礎 AES-GCM を正しく使う:ECB・nonce 再利用・タグ検証の落とし穴 セキュリティ基礎講座5。ECB で絵が透ける、nonce 再利用で中身が読める、PHP が1バイトのタグを通した実例、openssl enc の罠、PBKDF2・scrypt・Argon2id の鍵導出時間まで、すべて手元で実行して確認します。
- セキュリティ基礎 ハッシュ・暗号化・エンコードの違いを実行して確かめる セキュリティ基礎講座1。Base64 を1行で復元し、「パスワード」の SHA-256 を計算し、1ビット反転で出力の約半分が変わるのを確認。MD5/SHA-1 がパスワードに向かない理由を実測。
- セキュリティ基礎 安全なトークン生成:random と secrets の違いを実測で Python の random を出力624個から約1ミリ秒で復元し、次のパスワード再設定URLを的中させる実験と、secrets・random_bytes・UUIDv4・時刻シードの危険、トークン長と推測時間の表を実測でまとめる。
- セキュリティ基礎 パスワードハッシュ入門:bcrypt と Argon2id を実測で選ぶ セキュリティ基礎講座2。ソルトなし SHA-256 を20語の自作リストで破り、bcrypt・Argon2id・scrypt・PBKDF2 の1回あたりの時間を実測。72バイト制限も PHP 8.5 で再現。
- セキュリティ基礎 JWT HS256 を手で作る:alg none・弱い秘密鍵・exp/aud 標準ライブラリだけで HS256 の JWT を作って検証し、alg: none による admin 偽造、弱い秘密鍵の総当たり(0.14ミリ秒)、exp/aud の検査、トークンの保存場所までを実行結果で確認する。