Что может делать приложение с разрешением «ИСПОЛЬЗОВАТЬ СЧЕТА НА УСТРОЙСТВЕ»?

28

Может ли такое приложение свободно читать мои электронные письма / календарь / сообщение / документы / и т. Д.?

Разрешение «ИСПОЛЬЗОВАТЬ СЧЕТА НА УСТРОЙСТВЕ» также известно разработчикам как android.permission.USE_CREDENTIALS .

Пример таких приложений: WhatsApp , MightyText .

AlikElzin-kilaka
источник
1
Я нашел пример Android API того, что можно сделать с помощью этого разрешения: goo.gl/gjkJB . Насколько я понимаю, как разработчик, это означает доступ ко ВСЕМУ . Когда у пользователя есть токен учетной записи, он может получить доступ к любым предложениям учетных записей служб: поток Facebook, электронные письма Google - ВСЕ .
Алик Эльзин-килака
2
Я имел в виду с точки зрения пользователя. Я думаю, что пользователи не знают о навязчивости этого разрешения.
АликЭльзин-килака
1
@ t0mm13b - Предоставление определенных разрешений (OAuth) для чтения сообщений, например, гораздо менее навязчиво, чем предоставление полного доступа к учетной записи.
АликЭльзин-килака
8
Я думаю, что это разумный вопрос для этого сайта. Я, конечно, хотел бы точно знать, к чему действительно предоставляет каждое из доступных разрешений .
Эля

Ответы:

35

Android имеет централизованную систему управления учетными данными для онлайн-сервисов (таких как ваша учетная запись Google). Один компонент называется AccountManager. Некоторые приложения могут « действовать как аутентификатор учетной записи ». Это означает, что они понимают, как войти в определенный онлайн-сервис, и могут войти в этот сервис для AccountManager. Другие приложения хотят использовать эту регистрационную информацию, чтобы идентифицировать вас или выполнять действия от вашего имени, без необходимости каждый раз вводить пароль.

Пример: вход в Google

В вашем телефоне есть встроенное приложение, которое «действует как аутентификатор учетной записи» для вашей учетной записи Google. Он знает, как войти в Google, и у него есть адрес электронной почты и пароль, которые вы ввели при настройке телефона. Есть также приложение YouTube, которое хочет войти в систему, чтобы показать ваши любимые видео и позволить вам комментировать, но без необходимости заново вводить адрес электронной почты и пароль.

Это приложение YouTube AccountManagerобращается к и спрашивает, есть ли у него учетные данные для учетной записи Google. Для ответа на этот вопрос требуется разрешение «найти учетные записи на устройстве». На AccountManagerтелефоне установлен список аутентификаторов, с которыми он консультируется, чтобы ответить на этот вопрос. Если у него есть какие-либо учетные данные, приложение запросит так называемый аутентификационный токен для учетной записи Google. Этот запрос требует разрешения « использовать учетные записи на устройстве ».

AccountManagerСпрашивает вас , если вы хотите , запрашивающее приложение (YouTube) , чтобы иметь возможность использовать требуемый счет (счета Google). Это может быть в диалоговом окне, которое появляется поверх приложения, или в уведомлении. В качестве альтернативы, приложение может выбрать ничего не делать, если вы еще не ответили утвердительно на этот вопрос: оно может захотеть спросить позже в более удобное время. Этот шаг гарантирует, что приложение с разрешением «использовать учетные записи на устройстве» не может сразу использовать каждую учетную запись без запроса.

Если вы скажете да, то AccountManager запрос перенаправляется в аутентификатор (встроенное приложение Google). Что происходит дальше, зависит от аутентификатора и конкретной службы, в которую вы входите. Вам может потребоваться войти в систему, если вы еще этого не сделали, и для входа в систему может потребоваться имя пользователя и пароль, фотография, SMS или что-то еще полностью. Что бы ни делал аутентификатор, он может либо потерпеть неудачу, либо вернуть авторизованный запрос запрашивающему приложению.

Дальнейшие проверки

Аутентификатор и онлайн-сервис также могут контролировать, какие действия может выполнять запрашивающее приложение. Например, когда вы подключаете приложение к своей учетной записи Google, Google перечисляет разрешения, которые необходимы приложению (например, «загружать видео» для YouTube). Таким образом, приложение может выполнять только перечисленные действия. Однако некоторые сервисы могут не иметь ничего подобного; для такой службы, после того как вы разрешили приложению использовать ваши учетные данные, оно может выполнить любое действие от вашего имени.

После того, как запрашивающее приложение получило авторизационный токен, оно может продолжать использовать его для выполнения действий от вашего имени без дальнейшего взаимодействия с вами. То есть, как только вы согласились, что Twitter-клиент Дэна может публиковать в вашем фиде Twitter, он может работать в фоновом режиме и публиковать новые твиты без вашего ведома. Вы должны предоставлять приложению доступ к своим учетным данным, только если вы доверяете этому не делать этого.

Резюме

Приложение с разрешением « использовать учетные записи на устройстве » после установки может попросить вас обратиться к онлайн-сервису (например, Google, Facebook или Twitter) от вашего имени. Вы можете разрешить ему доступ к услуге или нет. Если вы разрешаете ему доступ к службе, то действия, которые он может выполнять от вашего имени, могут быть ограничены службой (это зависит от службы), и служба может позволить вам отозвать это разрешение позже (обычно через список «подключенных приложений»). «на сайте сервиса).

Дэн Халм
источник
0

Я нашел этот пример в Android API того, что можно сделать, используя это разрешение.

Насколько я понимаю, как разработчик, это означает доступ почти ко ВСЕМУ, предоставляемому учетной записью, за исключением изменения пароля.

Когда у пользователя есть токен учетной записи, он может получить доступ к любым услугам, которые предлагает учетная запись: публиковать на своей стене Facebook, читать Gmail - почти ВСЕ .

AlikElzin-kilaka
источник
Я не уверен на 100%, но я думаю, что есть экран «Выбор учетной записи», прежде чем приложение сможет получить доступ и использовать токен авторизации. Одного разрешения недостаточно, чтобы получить доступ к учетной записи пользователя.
Поток
2
Не совсем - добавьте слово «почти» перед ним. Как следует из названия привилегии: она может использовать информацию об учетной записи, но не изменять ее. Насколько мне известно, он может «аутентифицироваться от имени пользователя», но не узнавая сами учетные данные. Так что да: он может читать вашу почту, может быть, даже опубликовать его на Facebook. Но он не мог следить за вашим паролем. Тем не менее, это чувствительная привилегия.
Иззи
Этот ответ неверен, так как вы не можете изменить пароль учетной записи с таким доступом, поэтому у вас нет доступа ко «всему».
pzkpfw
@pzkpfw: я обновил ответ, включив в него мир «почти», потому что во многих случаях злонамеренного использования злоумышленник не захочет менять пароль, а просто незаметно использует учетную запись.
Дан Даскалеску
-1

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

Касиан Мвагике
источник