2011-09-15 8 views
4

私のアプリはAPIとコミュニケートしなければなりません。これを簡単に送信してデータを取得できます。iOSからクレジットカード番号をREST APIに送信する際のベストプラクティス

ここでは、すべてをURLのパラメータとしてプレーンテキストとして送信します。

私は決してセキュリティ専門家ではありませんが、一般的な意味では、転送中にクレジットカード番号を暗号化する必要があります。

サーバはストレージについて心配することがあります。私の唯一の懸念はデータの実際の送信です。

実際のデータを取得するためには、サーバが逆にする必要があるため、私は私の秘密鍵暗号化アルゴリズムが必要であると考えています。

すでにCommonCryptoフレームワークに実装されているいいものはありますか?

あなたのお勧めは何ですか?

私はiOSを使用してこれを行うことを検討していますが、セキュリティフレームワークにはこの問題を解決するツールがあると確信しています。

ありがとうございました!

+2

今日、クレジットカードのセキュリティに関する驚くべき2つの質問があります。そのようなセキュリティ作業は、実質的なセキュリティ体験を持つ開発者と、それに続く専門家のセキュリティレビューによって行われることが期待されていました。 – zaph

答えて

7

クレジットカード情報にURLパラメータを絶対に使用しないでください。ネットワーク上の他のクライアントがアクセスするURLは、ネットワーク上の他のコンピュータによって容易に盗聴され、記録されます(もちろん、一定の制限があります)。

POSTパラメータを使用して情報を送信して、URL自体ではなくメッセージの本文に含めるようにしてください。その後、HTTPSページに送信している間は、まずデータを暗号化せずにデータを安全にする必要があります(この場合、メッセージ自体はSSLを使用して暗号化されています)。

+1

実際、httpsではすべてのURLパラメータが暗号化されています。しかし、これはまだ悪い習慣です。パラメータはしばしばログに記録されるか、クリアテキストで表示されます。 –

+0

私の答えを読んでいる人には、Nicolas Cが正しいことを確認できます。繰り返して言いますが、パラメータが暗号化されている間は、マシン(またはルータ)にログオンする可能性があるので、Nicolasが述べたように、これでもPOSTを使用する必要があります。 –

関連する問題