web-dev-qa-db-ja.com

モバイルアプリには独自の証明書ストアがありますか?

モバイルアプリがHTTPSリクエストを送信するとき、それはある種の証明書ストアに対してサーバー証明書を検証します。私の質問は、その証明書ストアは電話のOSによって提供されるのでしょうか、それともアプリに同梱されますか?

証明書のピン留めができることはわかっていますが、最初にデフォルトが何であるかを知りたいです。

Android=とiOSの間に違いがある場合、それを知りたいと思います。

3
Ram Rachum

簡単に言えば、それはアプリケーションの実装に依存するということです。証明書のピン留めはデフォルトではなく、カスタム実装です。デフォルトでは、システムトラストストアに依存します-iOSとAndroid。

一般に、セキュリティのベストプラクティスは、SSLピン留めを使用することです。固定は2つの方法で実装できます。証明書ストア全体をクライアントパッケージに含めるか、証明書の署名をクライアントパッケージに含めます。クライアントパッケージを逆にすると、これを確認できます。

ほとんどのデスクトップアプリケーションの動作と同様に、モバイルアプリケーションもデフォルトで、オペレーティングシステムによって提供されるトラストストアに依存しています。 Android OS before Android 7.0では、ユーザーはSDカードからシステムトラストストアにカスタム証明書をインストールできます。これにより、軽微なMITM攻撃と以降のバージョンから機能が削除されました。アプリケーションは、Androidデバイスでユーザーがインストールした証明書を信頼しなくなりました。

1
hax