私はiPhoneアプリケーションを作成しています。安全な通信iPhoneとデータベース
アプリケーションでは、データベースと通信する必要があります。私は周りを見回し、最良の方法はiPhone - > webserver - > mysqlであることが分かった。
httpsを使用すると、トラフィックはプレーンテキストになりません。
しかし、私はまだセキュリティについて懸念しています。
私は、Webサーバーとの現在のセッションを認証するauth.phpを持っているとしましょう。そして、ゲームや何かを持って、結果をregisterresult.phpで登録すると、ユーザーは引き続きウェブサイト経由でauth.phpにログインし、自分自身の結果をregisterresult.phpに登録します。
(ImがデータをポストするPOSTメソッドを使用して)
あなたが問題を参照してください?
私はこれを見てきました: http://www.icodeblog.com/2009/10/29/iphone-coding-tutorial-creating-an-online-leaderboard-for-your-games/2/
しかし、本当に良い方法、またはよりよいがあるということですか? (各ステートメントでハードコードされた「キー」を送信する)
httpsが使用されていなかった場合、そのキーは平文になりますか?
結果データを「registerresult.php」に送信する前に暗号化して署名しても(人が偽造するのがずっと難しくなります)、署名キーは携帯電話のアプリに埋め込まれている必要があります。したがって決定されたクラッカーは依然として結果を偽造する可能性がある。私はあなたがサーバー上でゲームを実行する必要があると思うので、ユーザーが偽造された結果を提出できないことを確実にするために州の情報がそこに保持されます(しかし、私は他人の選択肢を聞くことに非常に興味があります)。 。 – eggyal
ええ、それは私の言いたいことは、ローカルにキーを保存することは最適ではないようです。それはおそらく私がやることだとは思いますが、人々は偽物を提出するためにどれくらいの努力を払うのでしょうか?(私はそれを食べてはいけないと思っています:P) – netigger
人々が取り入れる努力の量はあなたのゲームがいかに成功しているか重要であるか、あるいはどのような賞品を得ることができるかのいくつかの機能。このルートを下っていくと、あなたが引用した記事のアプローチはあまり良くありません(単なるパケットスニッファが秘密鍵を見ることになります)。安全なハッシュ(データ、ランダムソルト値、秘密鍵)を取る方が良いでしょう。既知の秘密鍵からハッシュを再計算し、それが検証できることを確認できるサーバに(データ、同じsalt値、ハッシュ)を送信します。 – eggyal