Почему клавиатура на Samsung Galaxy S3 не может собирать пароли?

Когда я включаю метод ввода (приложение для клавиатуры) на устройстве Nexus, я вижу следующее подтверждающее сообщение:

Этот метод ввода может собирать весь текст, который вы вводите, включая личные данные, такие как пароли и номера кредитных карт. Это происходит из приложения Highway. Использовать этот метод ввода?

Я понимаю это предупреждение. Из-за того, как работает метод ввода, он может собирать все, что я печатаю, и я должен верить, что автор не злоупотребит этой возможностью. Но когда я включаю метод ввода на своем Samsung Galaxy S3 (и, возможно, на других устройствах Samsung, я не пробовал), я получаю другое сообщение (выделено мной):

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

Я проверил ввод пароля в веб-форму и установку пароля устройства. В обоих случаях он по-прежнему использует (сторонний) метод ввода, который я выбираю для ввода пароля. Так почему же Samsung утверждает, что метод ввода не может собирать пароли? Они делают что-то невероятно умное в своей версии Android или просто несут чушь?

Я предполагаю, что это последнее или его вариант: переписать их заявление на «он не будет собирать пароли» может быть правдоподобно. Это не может быть ложью ИМХО, хотя это трудно доказать (за исключением примера, когда пользователь пишет текст типа «мой пароль - foobar», как приложение это распознает?). Как Samsung может быть уверен, что всегда знает, где вводится пароль?
TBH, я предполагаю, что это означает, что вы не можете использовать стороннюю клавиатуру для ввода пароля экрана блокировки при разблокировке экрана. Но если он по-прежнему использует выбранную клавиатуру для установки пароля, это не дает преимущества в плане безопасности.
Просто нечестно предполагать, что клавиатура не имеет доступа к паролям, которые вы вводите с ее помощью. Это противоречие само по себе. Клавиатурное приложение имеет доступ ко всему, что вы вводите (если бы это исключало пароли, вы не могли бы их вводить) и, таким образом, может собирать все. Если это так , это другая проблема, не соответствующая формулировке. Я не говорю, что они намеренно сделали «ложное заявление», но это просто не может быть правдой. Правильным было бы «может собрать весь текст, который вы вводите, но, возможно,/надеюсь/... исключит...». Для сторонних приложений они не могут быть уверены. Напишите один, обвиняйте их :)

Ответы (1)

Мне, как программисту, это интересно. Поля пароля могут обрабатываться (и обычно обрабатываются) иначе, чем обычные текстовые поля. Учитывая, что Android является открытым исходным кодом, я предполагаю, что Samsung, по крайней мере, попыталась включить код, который предотвращает передачу введенной в поле пароля информации обратно в приложение клавиатуры, но, как и другие, я настроен скептически.

Чтобы клавиатурное приложение собирало ваши данные, оно должно включать дополнительный шаг по захвату вашего ввода, сохранению его где-то, даже если он просто временно находится в переменной экземпляра, а затем отправке его третьей стороне. Мне было бы интересно услышать, что Samsung говорит об этом и как они якобы предотвращают это, но я предполагаю, что такой ответ мы вряд ли получим.