Articles of 安全

Android应用内结算:Security.java说“签名validation失败”

我已经使用Android的In-App Billing实现了一个测试应用。 我在Security.java文件中填写了我的公钥。 一切正常,但当我提交付款时,应用程序崩溃了。 我在LogCat中收到一条错误,指出“签名validation失败”,这对应于这段代码: if (!sig.verify(Base64.decode(signature))) { Log.e(TAG, “Signature verification failed.”); return false; } 如果我将该位更改为返回true而不是返回false,那么一切正常 – 我可以提交付款并安全返回应用程序 – 但我假设其他错误,因为我可能应该更改它以返回true。 关于可能导致这种情况的任何想法?

Android字典安全问题

每当您在Android手机上键入单词时,该单词都会被记住。 使用安全问题/答案等内容时,这是一个安全问题。 有没有办法关闭此function? 因此,当您键入单词时,单词不会存储在任何位置。 PS我知道你可以关闭’单词建议’,即使用标志TYPE_TEXT_FLAG_NO_SUGGESTIONS。 我已经完成了这个,但是你使用的单词仍然存储在后台。 提前致谢 编辑:使用自定义键盘,如AnySoftKeyboard,Swype和SwiftKey。 即使这些键盘可配置为记住和存储常用词 – 您希望在记住安全问题答案等方面存在exception。 在Android 2.2+上,您可以使用InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD在任何安全字段上实现所需的function。 尽管旧版本的Android(来自Google API 3+)可以使用此标记,但它似乎在Android 2.1(API 7)及更低版本中无效。

Whatsapp身份validation如何运作?

我想开发一个移动应用程序并使用类似用户注册的whatsapp。 现在我记得几年前讨论过的安全问题。 Whatsapp用于通过电话号码和IMEI对用户进行身份validation。 现在当然这不是很安全,但我真的不知道如何更安全。 现在我已经很久没有听到有关Whatsapp身份validation问题的消息,所以我猜他们现在已经有了安全的方法。 你知道Whatsapp今天是怎么做到的吗?

从Android读取计算机的RSA密钥指纹

我想读一下电脑的指纹。 第一次将其与计算机连接时,会显示该指纹。 我google了很多,但我没有发现任何相关内容。 你有想法或有用的资源吗?

任何人都可以解释OAuth吗?

我在http://oauth.net/上读过一些关于它的内容,显然是“发布受保护数据和与受保护数据交互的一种简单方法”。 我认为这正是我需要通过REST Web服务提供从android / iphone应用程序访问数据的安全方式,但我无法确切地知道它是什么。 所以,简单地说,它究竟做了什么,是否有任何(真的)简单的例子,我可以遵循它,最好在c#中实现可以从智能手机应用程序访问的东西?

Android SuperUser应用如何检测应用是否请求root?

我正在编写一个应用程序,它将使用su在linux内核中执行一些命令。 我想知道SuperUser如何确定应用程序是否要求root权限? 此外,是否有任何已知的方法(通过混淆)可以绕过此检查? 换句话说:Android /(超级用户)如何知道应用程序需要root权限,尽管在android清单文件中没有明确请求的权限。 我从安全的角度问这个问题。 我想了解其工作原理的详细信息,以确保恶意应用程序无法绕过SuperUser。

InApp计费安全和远程方法调用

我在应用程序中实现了应用程序计费,现在我想要更多地保护它。 阅读开发者材料,它说: 除了运行模糊处理程序外,我们还建议您使用以下技术来混淆应用内的结算代码。 内联方法转换为其他方法。 动态构造字符串而不是将它们定义为常量。 使用Javareflection来调用方法。 http://developer.android.com/guide/market/billing/billing_best_practices.html 混淆 – 很好我能做到这一点= proguard 内联方法转换为其他方法 – 这就是说,一旦我的代码完成,尽可能地删除大量OO并将所有代码放在尽可能多的行中(对于我的应用程序的计费部分)在一个方法中? 这包括内联类吗? 在android示例中,他们有一个常量类,我会内联所有这些吗? 动态构造字符串 – 是的,所以将所有类常量variables排成一行 – 精细程序应该涵盖这一点 使用Javareflection – 这是我的主要问题。 我应该调用我的所有方法而不是调用它们吗? 为了节省自己,我可以这样做: private static Object invokeMethod(String name, Class[] params, Object[] args){ try { return MySpecificClass.class.getMethod(name, params).invoke(null, args); } catch (IllegalArgumentException e) { // Should never happen in my code, ignore and […]

如何在我自己的私有应用程序中使用Android的Face Unlock?

我想使用Face Unlock作为我的应用程序的第二个因素,因为我的大多数用户都不会使用密码锁定他们的手机。 是否有Android API可以在Android应用中集成Face Unlock? 有用于照片识别的人脸检测API,但我找不到可用于离线场景的API,特别是应用程序中的其他因素。 如果你需要一个真实世界的例子,假设这是一个密码管理器,或者电话将借给孩子……并且所有者永远不会锁定电话。 面部解锁将确保他们需要私密的东西。

Android绑定安全性

Binder在Android中提供的进程间通信是否在中间攻击中受到保护? 有没有提供此信息的文档?

DevicePolicyManager wipeData没有消除电子邮件设置

我有一个使用DevicePolicyManager方法的设备管理应用程序。 在特定的触发器上,我使用flag = 0(它的2.2 HTC令人难以置信)调用了wipeData方法。 设备重新启动并擦除所有设备数据(不是SD卡)以及任何已配置的Google帐户(在“设置” – >“帐户和同步”下列出)。 但是,我很惊讶地发现我仍然可以从电子邮件应用程序接收/发送我公司的电子邮件。 我不得不手动转到电子邮件应用程序点击设置并删除我的帐户。 任何想法,如果有任何问题。 我虽然能够wipeData是企业的安全措施之一。 如果仍然可以在远程擦除后访问企业电子邮件,那么它变得毫无意义! 我绝对惊呆了。 只是为了确定,在发布之前,我重新运行了整个过程。 配置了我的Exchange ActiveSync帐户,安装了我的设备管理应用程序并触发了wipeDatafunction。 在重新启动和“数据擦除”时,我发现配置的帐户没有显示在帐户和同步中,但在电子邮件应用程序中它仍然配置,我能够发送接收消息。 再次,这发生在我的HTC Droid Incredible(Verizon)上。 我还没有在任何其他设备上测试它。 如果我接受测试更改,我会更新。 编辑:我在Droid Pro以及HTC Evo上进行了测试。 两者都干净利落地擦拭干净。 所以看来这个问题是HTC Incredible特有的。 我的运行Android 2.2和HTC内核版本是:2.6.32.15-g5e1ad8b htc-kernel @ and18-2#1