2015-05-11 2 views
1

ОБНОВЛЕНО: Мы создаем мобильные приложения для Windows, IOS & Android-платформа для создания OTP (одноразовый пароль) для регулируемой системы. Система предложит вызов фразы, когда пользователь попытается войти в систему, и отображаемая проблема должна быть включена в мобильное приложение для создания OTP. Сгенерированный OTP затем возвращается в систему для успешного входа в систему.Это хороший подход для внедрения алгоритма OTP (одноразовый пароль) в приложения для мобильных приложений для поддержки автономных возможностей?

До сих пор требования к мобильному OTP-генерации приложения хороши, так как мы можем предоставить службу для создания OTP с требуемой безопасностью.

Но у нас есть проводное требование для поддержки той же функции с автономной возможностью, когда мобильный телефон не имеет подключения к Интернету. Единственный выбор, который мы знаем, - это вставить алгоритм OTP & в приложение и применить соответствующий механизм безопасности. Алгоритм - это индивидуальный алгоритм умиротворения, и без ущерба для безопасности нам необходимо достичь автономной возможности. Это хороший подход для внедрения алгоритма & ключ в приложение, чтобы включить автономную возможность? Какое рекомендуемое решение.

+0

Как бы вы реализовали двухфакторный * без * алгоритма на телефоне? СМС? – JimmyB

+0

Предприятие опубликует API –

+0

Просто побочное примечание. Возможно, я ошибаюсь, но мне кажется, что вам, возможно, понадобится более полное понимание механизмов безопасности, прежде чем пытаться внедрить какое-либо программное обеспечение, связанное с безопасностью. – JimmyB

ответ

1

Я понятия не имею, что вы подразумеваете под «Enterprise будет выставлять API».

Но, будет нужно что-то связанное с физическим телефонным устройством, например, с SIM-модулем (например, с номером телефона) или с защищенным/частным хранилищем для работы с двумя факторами.

API, открытый в Интернете, без прочной ссылки на токен аутентификации (телефон), является не безопасным.

Итак, я думаю, единственный ответ: Да, вы должны реализовать «OTP-алгоритм» в приложении. Приложение должно хранить общий секрет в частном хранилище, которое (легко) не доступно для других приложений. Затем, в зависимости от типа OTP, вам необходимо предоставить некоторые средства синхронизации между приложением и сервером. Для Аутентификатора Google это просто установление общей базы времени, потому что «OTP» не является строго одноразовым, но изменяется (только) в зависимости от текущей даты + времени; поэтому текущее время становится «вызовом», который сервер неявно позирует клиенту для возврата правильного ответа. Хорошо, что вам не нужен доступ в Интернет, чтобы узнать текущее время в вашем приложении. Вам нужно только синхронизировать время и время, чтобы убедиться, что часы в вашем приложении не сильно отличаются от сервера.

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

Доступно еще много вариантов, но в нижней строке: Для обеспечения разумной безопасности OTP должен быть рассчитан по телефону.