Рейтинг:0

Проверка встречи путем отправки того же подписанного случайного числа в центральный орган?

флаг br
JMC

Я пытаюсь разработать простой протокол для двух пользователей, чтобы проверить (относительно доверенного центрального органа), что они (намеренно) встретились/общались друг с другом.

Моя идея заключалась в следующем: пользователи владеют парой ключей (общедоступных и секретных) любой распространенной асимметричной системы, такой как RSA. Их открытый ключ также служит их идентификатором. Чтобы два человека подтвердили, что у них был контакт, они оба сгенерируют случайное 256-битное число, поделятся им друг с другом (в случае приложения/использования с отступом это должно происходить только лично, а не на расстоянии) и затем оба по отдельности безопасно передают (например, HTTPs) составной номер центральному органу, зашифрованному их соответствующими закрытыми ключами. Они также передают свой соответствующий открытый ключ/идентификатор, чтобы идентифицировать себя, в центральный орган, который, в свою очередь, может проверить, что оба они отправили одно и то же сообщение после расшифровки с помощью своих соответствующих открытых ключей, что подтверждает их личность и их предшествующую связь.

Я понимаю, что это поддается атаке «человек посередине», когда посредник может передавать друг другу случайные числа двух человек, фактически имитируя встречу между этими двумя и не включая себя.Реальная система, в которой я намереваюсь использовать это, сделает это практически невозможным, поскольку оба пользователя должны отправить сообщение ЦС за очень короткий промежуток времени, и пользователи, как правило, обмениваются случайными кодами только лично, где такая атака MITM будет очевидна.

Редактировать: основная цель состоит в том, чтобы два пользователя доказали свою преднамеренный общение/встреча. Нет никакого стимула и никакого вреда в сговоре, чтобы подтвердить таким образом встречу, которая произошла только дистанционно, пока обе стороны знают об этом действии.

С учетом сказанного, это плохая идея, если да, то почему?

knaccc avatar
флаг es
Если у Алисы и Боба есть открытые ключи A и B соответственно, то Алиса может просто отправить центральному органу сообщение «Я — A, я встретил B» (подписанное A). Боб отправляет «Я Б, я встретил А» (подписано Б). Если этого недостаточно, объясните, почему это простое решение не соответствует вашим потребностям. Если вам нужно указать, что они встречались в определенное время, просто попросите обоих включить эту метку времени в сообщение. Или вы можете указать порядковый номер, чтобы каждый мог указать, что они встретились в $n$-й раз.
JMC avatar
флаг br
JMC
@knaccc Я думал, что для того, чтобы доказать, что они на самом деле являются A / B, им нужно будет доказать, что они могут подписать ранее неизвестное сообщение, иначе кто-то, кто однажды каким-то образом отследил такое сообщение, мог просто повторно отправить его позже, чтобы притвориться A или B встретив другой, потому что тогда этот злоумышленник знает эту пару открытый текст/шифрование.
knaccc avatar
флаг es
Когда Алиса подписывает сообщение «Я — А, я встретил Б», центральный орган проверит, что подпись могла быть подписана только со знанием закрытого ключа, соответствующего открытому ключу А. Если Мэллори подписывает сообщение «Я — А. , я встретил B", он может сделать это только со своим открытым ключом M, потому что он не знает закрытый ключ Алисы. Следовательно, любая подпись, созданная Мэллори, не будет сверяться с открытым ключом А.Если вы беспокоитесь о повторной атаке, когда Мэллори может притвориться, что A и B встречаются во второй раз, добавьте в сообщения порядковый номер или отметку времени, чтобы их нельзя было использовать повторно.

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

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