当我在Nexus设备上启用输入法(键盘应用程序)时,我看到以下确认消息:


此输入法可能能够收集您键入的所有文本,包括密码和信用卡号之类的个人数据。它来自应用程序Highway。使用此输入法吗?


我理解此警告。由于输入法的工作方式,它具有收集我键入的所有内容的能力,并且我必须相信作者不会滥用此功能。但是,当我在Samsung Galaxy S3(可能还有其他Samsung设备;尚未尝试)上启用输入法时,会收到不同的消息(强调):


此方法可以收集您输入的所有文本,密码除外,包括个人数据和信用卡号。它来自应用程序Highway。仍然使用吗?


我已经检查过在网络表单中输入密码并设置设备密码。在这两种情况下,它仍然使用我选择输入的(第三方)输入法。那么,为什么三星声称输入法无法收集密码?他们是在他们的Android版本中执行令人难以置信的巧妙操作,还是在胡说八道?

评论

我想这是后者,或者是它的一种变体:将其声明重写为“它将不会收集密码”可能是可信的。尽管很难证明,但它不是一个谎言恕我直言(除了计算用户编写“ my password is foobar”之类的文本的示例,因为应用程序应如何识别?)。三星如何确保始终知道在哪里输入密码?

TBH,我的猜测是,这意味着您无法在解锁屏幕时使用第三方键盘输入锁定屏幕密码。但是,如果仍然使用选定的键盘来设置密码,则没有安全性。

建议键盘无法访问您使用键盘输入的密码,这实在是不诚实的。这本身就是一个矛盾。键盘应用程序可以访问您键入的所有内容(如果不包括密码,则无法键入密码),因此可以收集所有内容。如果这样做,是不适合措辞的另一个问题。我并不是说他们有意提出“虚假主张”,但事实并非如此。正确的是“可以收集您输入的所有文本,但可能/希望/ ...排除...”。对于第三方应用程序,他们不能确定。写一个,怪他们:)

#1 楼

作为程序员,我发现这很有趣。密码字段可以(通常)与普通文本框区别对待。鉴于Android是开源的,我想三星可能至少尝试过包含阻止密码字段将键入的信息传递回键盘应用程序的代码,但是像其他人一样,我对此表示怀疑。

为了使键盘应用程序收集数据,它必须包括捕获输入,将其存储在某个位置(即使只是临时存在于实例变量中)的额外步骤,然后将其发送到第三方。我很想听听三星对此事的看法以及他们应该如何防止它发生,但我想这是我们不太可能得到的答案。