iPhone:アプリケーションから2ウェイSSLを確立する安全な方法はありますか

StackOverflow https://stackoverflow.com/questions/2775138

質問

iPhoneアプリケーションから顧客のサーバーへのHTTPS 2ウェイSSL接続を確立する必要があります。ただし、クライアント側の証明書をアプリケーションに配信する安全な方法はありません(これはeバンキングアプリであるため、セキュリティは本当に問題です)。私がこれまでに見つけたものから、アプリが証明書にアクセスできる唯一の方法は、アプリケーション自体を事前にまとめたもの、またはそれをフェッチする可能性のあるURLを公開することです(それをフェッチすることができます()SSLクライアント証明書を備えたiPhoneアプリ).

問題は、この2つの方法のいずれも、一部の第三者が証明書を取得するのを防ぐことはないということです。リスクとして受け入れられた場合、2ウェイSSLの必要性が排除されます(誰でもクライアント証明書を取得できるため)。

セキュリティプロトコル全体が次のようになるはずです。
-HTTPS 2ウェイSSLアプリケーションを認証します
-OTP(トークン)ベースのユーザー登録(このステップで生成されたクライアントサイドキーペア)
-SOAP / WSS XML-Signature(以前に生成されたキーによって署名された要求)

セキュリティの最初の層(HTTPS)を確立する方法についてのアイデアはありますか?

役に立ちましたか?

解決

わかりました、だから私自身の質問に答えるために...

セキュリティには固定された測定スケールがないことが判明しました。システムをブレーキするための価格が、そうするために得られる賞品を大幅に上回っている限り、セキュリティ要件は満たされます。

私の状況では、私たちはeバンキングシステムについて話しているが、毎月の制限がやや低い(数千米ドル)。私の質問で述べたように、WSS XML-Signaturesを特徴とするHTTPSの上に別のセキュリティの層があります。ユーザーを登録し、彼の公開キーを受け入れるプロセスもいくつかのステップで行われます。最初のステップでは、ユーザーは自分の電話番号をクライアントから何らかの形で取得したタラと一緒に送信します。次に、SMSが確認コードを使用してユーザーに送信されます。ユーザーは、ユーザーを識別するOTPコードを作成するOTP計算機に確認コードを入力します。次に、公開キーがOTPコードと一緒にサーバーに送信されます。ここから、すべてのリクエストで、以前にサーバーに送信された公開キーのプライベートカウンターパートによって署名されます。

したがって、プロセス全体の最大の弱点は、誰かがアプリケーションをリバースエンジニアリングし、SLLに使用されるクライアント証明書を取得することです。これから生じる唯一の問題は、誰かがユーザーのトランザクションを観察する可能性があることです。ただし、誰かが取引を行うためには、生成、暗号化、キーチェーンに保存されるユーザーの秘密鍵が必要になります。そして、このセキュリティレベルを制動するための価格は非常に高いです。

さらに、より高いレベルでユーザーのデータを保護する方法(たとえば、WSS暗号化を使用する)について考えますが、最初は現在のソリューションに適しています。

意見はありますか?

よろしく

他のヒント

HTTPSは実際にはこのように機能しません。一言で言えば、証明書がよく知られている権限によって署名されている安全なサーバーに接続します。

このためにリンゴ(iPhone)クラスを使用する場合、「良い」証明書のみを受け入れます。良いことに、私はAppleが受け入れられるとみなすものを意味します。それらを使用しない場合(SDKには選択肢があります)、接続することはできません(「エンタープライズ」開発者ライセンスがある場合を除きますが、私はそれを言うことはできません。確かにこのライセンスを十分に見ていないので、100%確実に)

続行するには、正しく署名されたWebサイトへのHTTPS接続を使用してから、組み込みのユーザー名/パスワードで何らかのログインを作成するか、iPhoneの一意のID(たとえば)とその接続を使用してExchangeキーに基づいてチャレンジ/応答を作成します。

これは、アプリケーションが最新の状態に保つために(各接続/すべてのx接続/毎月/アプリケーション指定された間隔)で新しい証明書をクエリする必要があることを意味することに注意してください。その後、これらの証明書を使用して、より安全なサーバーに接続できます。

編集

小切手 これ 投稿 - あなたが何を求めているかについてもっと情報を持っているかもしれません

/編集

edit2

リクエストはOSXではなくiPhoneです - App Storeの承認は問題です

/edit2

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top