Рейтинг:1

Насколько реально угадать закрытый ключ libsodium с учетом времени генерации?

флаг us

Итак, предположим, что вы делаете это локально (чтобы не было сетевого шума) и также знаете точную специфику своего процессора. Возможно ли определить закрытый ключ (имея доступ к открытому ключу), сгенерированный libsodium, исходя из времени, необходимого для создания пары ключей?

А как насчет других алгоритмов, насколько это вообще возможно?

kelalaka avatar
флаг in
Вы спрашиваете об атаке по времени на скалярное умножение?
Hormoz avatar
флаг us
Более-менее что-то в этом роде.
kelalaka avatar
флаг in
Curve25519 использует лестницу Монтгомери, и это по своей природе не требует временных атак.
kelalaka avatar
флаг in
Кроме того, обратите внимание, что если генерация ключа выполняется на вашем компьютере, то временная атака вас меньше всего беспокоит. Если он находится в облаке, это возможно только в том случае, если злоумышленник сможет найти ваш **общий* сервер, чтобы применить атаку. Интересно, кто использует общие серверы для своих важных приложений!
Рейтинг:0
флаг cn

Итак, предположим, что вы делаете это локально (чтобы не было сетевого шума) и также знаете точную специфику своего процессора.

Хорошо. Это правдоподобная модель атаки, например, если злоумышленник запускает рекламу JavaScript в вашем браузере или имеет совмещенную виртуальную машину в том же облаке.

Возможно ли определить закрытый ключ (имея доступ к открытому ключу), сгенерированный libsodium, исходя из времени, необходимого для создания пары ключей?

Либсодиум использует Кривая25519 клавиши эллиптической кривой. Закрытый ключ Curve25519 представляет собой случайную битовую строку определенной длины. (Он расширен до строки байтов, в которой определенные биты имеют фиксированные значения, но это не добавляет побочный канал синхронизации.) Таким образом, процесс генерации закрытого ключа тривиален. Единственный правдоподобный побочный канал находится в самом генераторе случайных чисел.

Некоторые алгоритмы генерации случайных чисел используют примитивы, чувствительные к временным боковым каналам. В частности, CTR_DRBG полагается на AES, который уязвим для атак синхронизации кэша, если реализован в программном обеспечении наивным быстрым способом. CTR_DRBG очень часто меняет ключ AES, что делает его несколько менее уязвимым, чем в сценариях, когда злоумышленник может наблюдать за шифрованием с тем же ключом AES. Однако, такая атака может быть практичной, по крайней мере в идеальных условиях.

С другими популярными алгоритмами DRBG (например, Hash_DRBG или HMAC_DRBG), с реализацией AES, не основанной на таблицах (например,с использованием аппаратного ускорения, такого как AES-NI, или с использованием побитовой нарезки в программном обеспечении), или если DRBG достаточно часто считывает энтропию (что возможно на современном оборудовании с выделенным TRNG, таким как RDRAND на процессорах Intel или эквивалент на различных смартфонах). процессоры), атаки по времени на ГСЧ не вызывают беспокойства.

Что может быть более уязвимым, так это вычисление открытого ключа из закрытого ключа. Curve25519 позволяет относительно легко реализовать арифметику без временных побочных каналов, но это не данность.

А как насчет других алгоритмов, насколько это вообще возможно?

Для эллиптических кривых Вейерштрасса и Диффи-Хеллмана с конечным полем закрытый ключ представляет собой число между $2$ и $P-2$. Помимо атак RNG, как обсуждалось ранее, естественная реализация процесса генерации ключей не подвержена атакам по времени. Однако вычисление открытого ключа является уязвимы для атак по времени, если реализованы без мер предосторожности.

При использовании RSA генерация ключа представляет собой сложный процесс, включающий проверку (псевдо) простоты и некоторые дополнительные арифметические действия, потенциально уязвимые для атак по времени. В частности, на практике оказывается, что шаг, который наиболее подвержен утечке, - это расчет НОД сделано, чтобы проверить это $p-1$ и $q-1$ взаимно просты с общественным показателем.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.