セキュリティ実装技術
要点と定義
CRL(証明書失効リスト)は、失効した証明書を識別するためのリストであり、有効期間内に失効した証明書のシリアル番号を記載する。OCSPは、デジタル証明書の失効状態をオンラインで照会するプロトコルである。DKIMは、送信側メールサーバがメールに電子署名を付与し、受信側メールサーバが署名ドメインの公開鍵で検証する方式である。OSコマンドインジェクションは、入力値がOSコマンドとして解釈・実行される脆弱性である。サイドチャネル攻撃は、処理時間、消費電力、電磁波など、機器の処理に伴う物理的情報から秘密情報を推定する攻撃である。CookieのSecure属性は、Cookieの送信をHTTPS接続に限定する属性である。パスワードのストレッチングは、照合用ハッシュの計算を繰り返して候補パスワードの照合コストを高める対策であり、ソルトはハッシュ化前にパスワードへ加える利用者ごとに異なる文字列である。
適用条件と例
証明書の失効情報を確認するときは、CRLで失効証明書のシリアル番号を調べるか、OCSPで失効状態をオンライン照会する。メールでは、DKIMが署名ドメインの公開鍵を使って署名対象の改ざんを検証し、SPFは送信元IPアドレスが許可されているかを調べる。Webアプリケーションが利用者入力をシェル経由でコマンドに渡すと、入力がコマンドとして解釈されるおそれがあるため、シェルを起動する機能を避ける。CookieにSecure属性を設定するとHTTPS接続で送信される。パスワードの保存時にハッシュ計算を繰り返すと、候補照合に必要な計算コストを高められる。暗号処理中の電磁波など物理的な漏えい情報を観測する攻撃は、実装に対するサイドチャネル攻撃に当たる。
CRLは証明書の有効期限一覧ではなく、失効した証明書を識別するリストである。有効期間内に失効した証明書はシリアル番号で記載され、認証局の公開鍵がブラウザーに組み込まれていることだけでは失効状態を確認できない。
DKIMでは、送信側メールサーバがメールに電子署名を付け、受信側が署名ドメインの公開鍵を使って検証し、署名対象のヘッダーや本文の改ざんを検知する。DKIM単体で見かけ上のFromドメインとの一致を必ず確認するわけではない。
Webアプリケーションへの入力がシェルに渡され、区切り記号などを介して別のOSコマンドとして解釈されるおそれがある場合、OSコマンドインジェクションが疑われる。リクエストの形から攻撃の意図を推測できても、実行に成功したとは限らない。
機器が暗号処理中に発する電磁波などの物理的情報を測定し、秘密情報を推定するのはサイドチャネル攻撃である。暗号関数の線形近似や平文・暗号文の差を用いる解析とは、利用する情報が異なる。
この節の続き
- 誤りやすい点
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む