2-факторная аутентификация для 2 человек?

#asp.net-core #asp.net-identity #two-factor-authentication

#asp.net-ядро #asp.net-идентификация #двухфакторная аутентификация

Вопрос:

Я пытаюсь построить систему следующим образом:

  • Пользователь 1 — пользователь с низким разрешением. Они будут использовать свой телефон, и в какой-то момент им нужно будет выполнить безопасное действие.
  • Пользователь 2 является администратором и будет находиться в той же комнате, что и пользователь 1.
  • Пользователь 2 сгенерирует временный код на своем собственном устройстве, а затем устно передаст код пользователю 1.
  • Затем пользователь 1 введет предоставленный ему код для завершения безопасного действия.

В идеале ни пользователь 1, ни пользователь 2 не будут раскрывать друг другу имена пользователей своих учетных записей. Единственное, что будет обменено, это код.

Серверная система, которую я использую для создания базовой аутентификации пользователя, находится в ASP.NET Ядро MVC amp; Asp.net Идентификация, и это будет включать API для проверки и генерации кодов.

У кого-нибудь есть идеи о том, как реализовать генерацию и проверку кода? Потенциально коды должны быть достаточно длинными, чтобы определить, какой пользователь-администратор запросил код (и, таким образом, одобрил действие), но, надеюсь, не слишком длинными, чтобы стать громоздкими (возможно, 6-8 символов?)

Комментарии:

1. Возможно, вы захотите задать этот вопрос на сайте Security stack exchange. Как правило, вы не хотите внедрять новые парадигмы безопасности. Трудно понять их правильно. По сути, то, что вы ищете, — это административное одобрение. Почему бы не создать систему, в которой пользователь пытается выполнить действие, которое затем запускает внутренний поток, который уведомляет администраторов (включая того, кто находится в комнате), что пользователь X хочет выполнить действие A. Затем администратор в комнате может отправить код (по электронной почте или текстовым сообщением) пользователю X, чтобы он мог завершить процесс. Код может быть просто OTP администратора.

2. Взгляните на эту библиотеку для TOTP — github.com/kspearrin/Otp.NET

3. Спасибо за идеи и спасибо за исправление моего форматирования!