私はセキュリティに敏感な操作を行う静的ライブラリを作成したいと考えています。静的ライブラリを使用する他のアプリケーションが静的ライブラリのデータにアクセスできないことは私にとって重要です。ios用の独立したサンドボックスtouch静的ライブラリ
実際には、ディスクに保存したデータと実行時にメモリに保存したデータの両方に、ホストアプリケーション経由でアクセスできないことが重要です。だから私の質問は、ホストアプリケーションがこれらの情報にアクセスできないように、静的ライブラリ用に別のサンドボックスを提供する方法です。
私は.a
ファイルを持っていると知っているいくつかのセキュリティに敏感なライブラリがあり、私は彼らのアプリケーションのセキュリティを提供する方法が不思議です。ここでpaypal
のiOS SDKへのリンクです:
https://github.com/paypal/PayPal-iOS-SDK
が更新
開発者のリンクの下によると、我々は砂ボクシングを有効にするには、エンタイトルメントファイルで砂ボクシングのキーを使用することができます。 iOSアプリはデフォルトでサンドボックス化されています。 しかし、iOSの静的ライブラリはどうですか?彼らはあまりにも砂ボックスですか?いいえ、どうすればサンドボックスできますか?
更新
のAndroid OSで使用すると、プロジェクトライブラリを開発しているときは、別のプロセスに、ライブラリコードを実行するには、Android OSを強制するために、このプロジェクトのmanifest
にタグを定義することができます(ところで、ホストプロセスはライブラリプロセスのランタイムメモリにアクセスできません)。だから私は、私たちもiOS上でこの動作の同等のオプションを持っているべきだと思います。
更新
私たちも、実行時にホストアプリagainsデータを保護することに注意してください。大きな問題の1つは、リフレクションによってUI要素のデータにアクセスすることです。誰かが自分のカードデータをPaypal SDKに入力しているとし、ホストは反映された入力データにアクセスできます。その後、ホストアプリケーションの開発者は、すべてのカード情報とその認証データにアクセスして、それらの用途に使用することができます。
iOSセキュリティ・エンクレーブは何でも使用できますか? [記事](https://blog.trailofbits.com/2016/06/28/start-using-the-secure-enclave-crypto-api/)、[guide](https://www.apple.com/ business/docs/iOS_Security_Guide.pdf) –
あなたのコメントが分かりません。詳細を指定してください。 –
iOS Security Enclaveは秘密鍵のペアを生成することができます。秘密鍵の一部はセキュリティエンクレーブから離れることはありませんが、これを考えると、あなたの状況に役立つはっきりしません。あなたはライブラリを別のアプリケーションにラップすることができます(もちろんサンドボックスにすることもできます)。[カスタムURLスキーム](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter- AppCommunication/Inter-AppCommunication.html#// apple_ref/doc/uid/TP40007072-CH6-SW1)を使用してアプリとライブラリアプリの間の通信を行います。 –