Я хочу зашифровать файл cookie и убедиться, что файл cookie не изменен, поэтому я использую HMAC для зашифрованного файла cookie.
Есть несколько способов реализации:
<сильный>1. HMAC в зашифрованном файле cookie
String encryptedCookie = AES ( cookie )
String mac = HMAC ( encryptedCookie )
-- Сохраняемый файл cookie со значением: зашифрованныйCookie + ":" + mac
<сильный>2. HMAC в зашифрованном файле cookie и ключе sercet HMAC
String encryptedCookie = AES ( cookie )
String mac = HMAC ( encryptedCookie + ":" + Hmac's secretKey )
-- Сохраняемый файл cookie со значением: зашифрованныйCookie + ":" + mac
<сильный>3. HMAC на зашифрованном файле cookie и некоторых неочевидных СТАТИЧЕСКИХ данных
String encryptedCookie = AES ( cookie )
String mac = HMAC ( encryptedCookie + ":" + java.sql.ResultSet.class.getName() )
-- Сохраняемый файл cookie со значением: зашифрованныйCookie + ":" + mac
У кого-нибудь есть идеи? Какой из них лучше? ИЛИ какое у вас решение? Благодарю вас!