2016-04-14 52 views
0

我想部署一個名爲東西的iPhone應用程序,作爲部署的應用程序的一部分。用戶在成功登錄後會看到名稱(使用已存在的標準現有登錄服務)。不過,我不希望可以解密應用的人訪問該名稱。換句話說,他們可以解密應用程序並獲取字符串。請參閱Finding constants from a decrypted iOS app executableReverse Engineering Tools安全發貨名稱

如何發送已加密的名稱,然後在應用程序登錄後解密它?在我看來,解密應用程序的人也可以使用我編寫/使用的任何解密代碼。

這將是非常好如果我不需要創建一個自定義服務器解決方案來發送應用程序名稱一旦他們登錄。但是,它可能會來。

我們的高級安全人員將會很難打這個應用程序。所以,它必須是密封的安全。所以"Best way to securely ship static text inside a iOS app?"的答案將不起作用。

想法?

更新:我們可以預先使用安全信息預先填充iPhone和Android中的密鑰庫,以便它不會被黑客攻擊嗎?

+2

請求您的「最高安全人員」尋求幫助。 – zaph

+0

@ zaph我明白你爲什麼會這麼說。 :)我想要第二個/開發人員的意見,因爲我已經與安全人員交談,他們沒有抓住這個。 – finneycanhelp

+1

然後找到一個新的「頂級」人物。他不應該被互聯網陌生人替換。 – csmckelvey

回答

2

在加入應用之前對項目進行加密,並且不在應用中包含加密密鑰。請在用戶正確登錄後將密鑰傳遞給應用。

只需正確使用AES加密,即可保護數據。

解密方法是祕密並不重要,只是解密密鑰是祕密的。

+0

謝謝@ zaph。解密密鑰將來自服務器。正確? – finneycanhelp

+1

是的,這是最安全的方法。同樣在iOS中,將密鑰嵌入應用程序中也是不成問題的,二進制只能通過越獄解密,安裝工具來解密,因此可以在加載運行時檢查代碼。 – zaph