Сразу для унылых троллей и умников, желающих понаписать каких-то истин о недопустимости изобретения своего шифрования - вы не интересны, мы и так всё это знаем. Вопрос носит чисто технический характер.
Вопрос об аутентификации Алисы и «мире электронных подписей». Алиса хочет прислать Бобу токен (строку), по которому Боб может сказать, что строка сформирована именно Алисой.
Алиса формирует строку вида:
<HASH>-<TIME>-HELLOWORLD-<RAND-128>
где
<HASH>
- хеш всей строки, за исключением самого ; предполагается, что алгоритм хеширования достаточно упорот и надёжен в меру важности этого спецзадания - какой-то распространённый SHA256, например или же самодельный с известным (или неизвестным) риском.
<TIME>
- текущее время, нужное тут низачем, кроме как влиять на значение и внести немного рандома, ну и отчасти показать свои часы.
HELLOWORLD
- заведомо известная всем строка.
<RAND-128>
- рандомные 128 бит с потолка (одна задача - влиять на значение хеша).
Алиса шифрует эту строку каким-то симметричным алгоритмом, типа AES, используя Ключ К. Ключ К - сгенерированные ранее и сохранённые рандомные 512 байт.
Тот же ключ есть у Боба. И больше ни у кого.
Алиса передаёт зашифрованную строку Бобу. Боб расшифровывает её ключом К, вычисляет хеш от строки (кроме поля ) и сверяет вычисленный хеш с полем . А так же удостоверяется, что после лежит строка , ну и у строки какой-то известный размер. Ну, например, что не слишком в прошлом. Если все проверки - true, тогда Боб делает вывод, что строка пришла от Алисы, а не кого-то другого.
Вопросы:
- считается ли такой способ ответа на вопрос «Алиса ли прислала строку» мало-мальски вменяемым? В чём уязвимости?
- Достаточно ли будет выкинуть , а передавать просто
<RAND-128>-HELLOWORLD
и проверять только наличие HELLOWORLD в строке на нужном месте? Тут замысел в том, что<RAND-128>
будет непредсказуемо менять стейт машины шифрования так, что к моменту шифрования HELLOWORLD, шифровалка будет уже в достаточно рандомном состоянии, чтобы HELLOWORLD шифровался постоянно в разные байтики. Будет ли это работать?
Кража ключа у одного из них считается провалом, конечно же.
Перемещено maxcom из talks