2013-05-02 55 views
0

我收集到大多数开发人员(大型公司除外)使用自签名证书签署其apk。由于这是安装应用程序所必需的,所以任何人都可以签署您的应用程序。使用Java SDK中的keytool和jarsigner相当简单。但是,这些自签名证书和相关私钥不保证任何程度的安全性,除非您可以以某种方式将该证书与您实际信任的人相匹配。没有能力撤销这些自签名证书(无CRL),并且没有“颁发者”(因为证书几乎总是自签名)以某种方式“证明”证书/密钥持有者的身份签署代码。信任应用程序签名

因此,Andriod平台是否有计划或有能力阻止应用程序的安装使用特定签名签名?或者启用只允许安装由受信任的CA(证书颁发机构/颁发者)列表颁发的证书/密钥签名的应用程序的设置? 但是,有一些安全可用:在设置/安全中,您可以阻止安装任何东西(甚至已签名并手动复制到SIM卡),除非它来自默认设置Play商店。您也许可以安装用户证书,并且只允许安装由该证书签名的应用程序(即使从Play商店?)。

回答

0

我不认为这些证书的目的是为了确保身份证明作为由CA签署的正常证书。在我看来,证书的目的仅仅是为了确保发布应用的人第一次发布更新的那个额外的安全因素。

如果没有这个黑客你的谷歌帐户的人将能够发布恶意更新给你的整个用户群。

所以我会说它基本上是一个双因素认证的出版。

+0

我同意。没关系,前提是您信任该应用的第一个版本的作者。认为“漫长的黑客”策略。用你的应用程序建立某种信任模型....人们下载它们...很棒的应用程序。然后在接下来的更新中,比如在一年或2 ... BAM中,这个人不是一个好人。因此,重要的是要询问您第一次在平台上安装已签名的应用和某些内容以帮助保护用户或应用。 – user2339741 2013-05-02 21:52:03

+0

好的,我看到你的问题了,但是应该怎么阻止呢?它真的足以确保拥有CA的人的身份吗?当然,你可以在他完成第一次“黑客”后决定阻止一个人。我认为这还没有完成的原因有两个。要评估出版商需要花费大量的工作,而这会花费金钱。 2.评估会让发布变得更加困难和昂贵,使得android成为开发人员不那么有吸引力的平台。但以某种方式评估出版商是一个好主意。 – 2013-05-03 06:28:16

+0

从受信任的根CA获取代码签名证书并不容易,成本也很高。没有由CA颁发的证书签名的Win32代码会抛出警告,由您自己承担风险。我意识到Google通过Play Store有一些合理的安全基础设施,包括在那里发布应用程序的防病毒检测尽职调查,以及拒绝应用程序签名的应用程序,这些应用程序会给下载者带来问题,但这比PKI中的CRL基础架构弱。便利性我同意是Andriod应用程序部署的驱动程序,我相信Google不希望用户过多地警告对话。 – user2339741 2013-05-03 19:32:54