1

Cookie を暗号化して署名するのは冗長なのでしょうか? 暗号化では不十分ですか?なぜですか、そうでないのですか?

冗長でない場合、これについて正しい方向に進んでいるかどうか疑問に思っています。簡単にするために、私が行ったことは次のとおりです。

$data = 'some data';
$encrypted_data = mcrypt_encrypt($cipher, $key, $data, $mode, $iv);
$signature = hash_hmac($algorithm, $data, $key);
$package = $encrypted_data . '|' . $signature;
setcookie('somecookie', $package, time()+60*60*24);

私が基本的に理解していることは、データを hmac ハッシュし、区切り文字を使用して暗号化されたデータに追加していることです。その後、Cookie をチェックするときに、すべての検証などを行います。私はこれに正しく取り組んでいますか?また、暗号化と署名のためのすべての鍵はノンス (1 回だけ使用される鍵) である必要がありますか?それとも、それぞれがすべてで共有される単一のグローバル鍵で十分ですか? これが3部構成の質問になっていることをお詫びします。誰も気にしないことを願っています。どうもありがとう。

4

1 に答える 1