0

クライアントから、iPhone アプリケーション用のバックエンド サーバーを作成するように依頼されました。アプリケーションを購入したユーザーだけがサーバーを呼び出せるようにしてほしいとのことでした。問題は、彼がアプリケーションにログイン システムを追加したくないということです。そのため、アプリケーションがサーバーを呼び出さずに誰かを防ぐ完全に安全な方法はないように思えます。いずれにせよ、完全に防ぐことはできなくても、アプリなしではサーバーにアクセスしにくくするだけで十分でしょう。

これを達成するための最良の方法は何ですか?繰り返しますが、接続を完全に保護する必要はありません。機密情報の転送はありません。アプリケーションにお金を払わずにサーバーを利用したい人のために、もう少し複雑にしたいだけです。

最も単純に思えるアイデアは、クライアント内に保存され、サーバーに認識されているキーを使用してデータを暗号化することです。これにより、コードを逆コンパイルしてキーを見つけるだけでメッセージを復号化できます (もちろん、キーの代わりに、 6/12/24 時間ごとに変更されるキーのリスト)。

これは合理的な解決策でしょうか?

4

4 に答える 4

0

クライアントとサーバー間でキーを共有するのは良い方法のようです。ただし、保存されたキーのみに依存するのではなく、それらをUUIDなどの一意の識別子と組み合わせて、組み合わせたキーと UUID 自体の両方でサーバーに送信してみてください。

その時点で、ユーザーの UUID はユーザーの識別子 (ユーザー名) になり、結合されたキーはユーザーのトークン (パスワード) になります。そして、これはログインのようなメカニズムになります。

于 2012-09-28T01:23:03.287 に答える
0

これは決して不可能です。クライアント サーバー アーキテクチャの性質へようこそ。クライアントを信頼することはできません。公開している機能が安全であることを確認してください。

于 2012-09-27T22:33:41.517 に答える
0

有料アプリの場合、ユーザーがアプリ内購入を行うまですべての機能をロックダウンしてアプリを無料でリリースし、サーバーで領収書を確認して、デバイスが iOS デバイスであることを証明できますか?

于 2012-09-28T01:14:40.553 に答える
0

SSL 接続だけでは、他の人がリクエストの URL を取得するのを防ぐのに十分ではありませんか? または、基本認証で SSL 接続を使用する方がよいでしょうか?

于 2012-09-28T01:36:16.117 に答える