2013-05-02 48 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