2011-03-10 5 views
1

私はWindows Phone 7アプリケーションで作業しています。ライブタイルプッシュ通知を送信するにはWebサービスが必要です。クライアントのURIチャンネルをデータベースに保存し、1時間ごとに、登録されているすべてのクライアントに正しいライブタイルを送信します。機密データをクライアントに送信するのではなく、クライアントがチャンネルURIのサービス保存にデータを送信することもなく、SQLインジェクションに対してデータベースを確実に保護するようにしました。WCFセキュリティアドバイス

公開されている方法は、クライアントを登録または登録解除する方法と、要求したクライアントに正しいライブタイルを送信する方法です。

この情報が与えられた場合、どのようにサービスを保護するべきかについての推奨事項がありますか、この場合はセキュリティが必要ですか?

ありがとうございます!

編集: お返事ありがとうございます!私の同僚は、アプリケーションの範囲が非常に限られており、機密データが送信されていないため、データベースからの誤ったリクエストをパージする以外に、セキュリティをまったく使用しないことに決めました。私たちの背後で私たちを後で噛まないことを望みましょう!

答えて

1

残念ながら、現時点でこの問題を解決する最良の方法は、アプリでハッシュを生成し、それを使って実際にアプリからデータが来ていることを確認することです。明らかに、これを行うには、コードを難読化する必要があります。

これはバックエンドに対して何の認証もせずに行うことができる最高の方法です。

可能であれば、ユーザーにバックエンドで登録して認証させてから、この認証トークンをデバイスのANIDに関連付け、SSL経由ですべてを実行させます。

残念なことに、currenlty、サービスのセキュリティとspoffed要求の防止は、バックエンドへのログインを必要とせずに、WP7では非常に難しいです。

0

SSLを使用してチャネルをバックエンドサービスに確保してください。このようにして、ChannelUriなどのサーバーに送信するデータは安全です。

あなたのアプリケーションにハッシュを構築することはセキュリティではありません。人々はあなたのXAPを入手し、それを逆コンパイルしてハッシュを得ることができます。

IMHO送信時にChannelUri(あなたのアプリに固有であり、どこにいてもXAPに保存されていない)を保護することをお勧めします。

バックエンドでは、タイル通知を送信しようとすると失敗したレコードを削除してください。これにより、非電話の当事者によって入力されたレコードは取り除かれます。

最終的には、有効なユーザーのみがサービスを使用していることを正しく確認するために、バックエンドでログインインフラストラクチャが必要です。