我想創建一個靜態庫,將執行一些安全敏感的操作。對我來說,使用我的靜態庫的其他應用程序無法訪問靜態庫的數據對我很重要。獨立沙箱爲ios可可觸摸靜態庫
實際上,保存在磁盤和運行時內存中的數據無法通過主機應用訪問是非常重要的。所以我的問題是,如何爲靜態庫提供單獨的沙箱,以便主機應用程序無法訪問這些信息。
有一些安全敏感的庫,我知道有.a
文件,我想知道他們如何爲他們的應用程序提供安全性。這裏是一個鏈接paypal
的iOS SDK:
https://github.com/paypal/PayPal-iOS-SDK
更新
根據下面鏈接開發商,我們可以使用沙拳擊關鍵在授權文件,使沙拳。它說,默認情況下iOS應用程序是沙盒。 但是iOS靜態庫呢?他們是否也是沙盒?如果不是,我們如何才能沙箱呢?
更新
在Android操作系統,當你正在開發一個項目庫,你可以定義在這個項目給力Android操作系統運行庫的代碼到單獨的進程的manifest
標籤(順便說一下,主機進程無法訪問庫進程的運行時內存)。所以我認爲我們在iOS上也應該有這種行爲的等效選項。
更新
請注意,我們要保護,即使在運行時的數據agains主機應用程序。關於通過反射訪問UI元素的數據的一個重大問題。假設有人在Paypal SDK中輸入其卡數據,並且主機可以通過反射訪問輸入的數據。然後,主機應用程序的開發人員可以訪問所有卡信息及其身份驗證數據,並將其用於他們的使用。
iOS安全區將有什麼用處? [文章](https://blog.trailofbits.com/2016/06/28/start-using-the-secure-enclave-crypto-api/),[指南](https://www.apple.com/ business/docs/iOS_Security_Guide.pdf) –
我不明白您的意見,請您指定更多? –
iOS安全區可以爲您生成一個安全密鑰對,私密部分永遠不會離開安全區,但正如我認爲的那樣,目前尚不清楚這對您的情況會有所幫助。你可以將你的庫包裝在一個單獨的應用程序中,當然這個應用程序會被沙盒化,並使用[自定義URL方案](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter- AppCommunication/Inter-AppCommunication.html#// apple_ref/doc/uid/TP40007072-CH6-SW1)用於您的應用和圖書館應用之間的通信。 –