Компания Google представила новую функцию под названием Restore Credentials, которая должна помочь пользователям безопасно и быстро восстановить доступ к сторонним приложениям после перехода на новое устройство под управлением Android.
Функция входит в состав Credential Manager API и призвана избавить пользователей от необходимости повторно вводить многочисленные учетные данные для каждого приложения при замене телефона.
«Благодаря Restore Credentials приложения смогут легко подключать пользователей к аккаунтам на новом устройстве после восстановления приложений и данных с предыдущего устройства», — рассказывают представители Google.
По словам компании, этот процесс будет происходить автоматически, в фоновом режиме, пока пользователь восстанавливает приложения и данные со старого девайса. Для этого будет использоваться так называемый ключ восстановления (restore key), который на самом деле является публичным ключом, совместимым с FIDO2. Восстановление ключей будет производиться с помощью встроенного в Android процесса резервного копирования и восстановления.
Так, когда пользователь входит в приложение, поддерживающее эту функцию, его ключ восстановления сохраняется в Credential Manager (локально на устройстве и в зашифрованном виде). При желании зашифрованный ключ восстановления может быть сохранен в облаке, если настроено облачное резервное копирование. Разумеется, существует возможность и прямого переноса ключей восстановления с устройства на устройство вручную.
В результате, при переходе на новой девайс и восстановлении приложений, в процессе будут запрошены ключи восстановления, что позволит автоматически входить в аккаунты без необходимости повторного вводы учетных данных.
«Если текущий вошедший пользователь является доверенным, вы можете сгенерировать ключ восстановления в любой момент после того, как он прошел аутентификацию в вашем приложении, — инструктирует разработчиков приложений Google. — Например, сразу после входа в систему или в ходе рутинной проверки наличия существующего ключа восстановления».
Также разработчикам приложений рекомендуется удалять ключ восстановления сразу после выхода пользователя из системы, чтобы избежать цикла, когда пользователь намеренно выходит из системы и автоматически входит в нее снова.
Следует отметить, что у Apple в iOS уже давно реализована аналогичная функциональность, которая использует атрибут kSecAttrAccessible для контроля доступа приложений к определенным учетным данным, хранящимся в iCloud Keychain.