2012-02-25 2 views
1

PHP CodeIgniterベースのサーバーとJavaクライアントの間でコマンドとデータを渡す必要があります。私は非常に単純な暗号化を使ってメッセージを暗号化/復号化することを考えていました。私は、Java側で非常に基本的な暗号を実行しようとすると、多くの問題に遭遇しました。Java ClientとCodeIgniter Serverとの間で安全に通信する方法はありますか?

私は、暗号のJava側の助けを必要としているか、クライアントとサーバー間の通信を保護するための別の考え方が必要です。

データは機密ではなく、正確な送信元からのものであることが確認できる限り、明確に送信することができます。私は、基本的な暗号化を、再生攻撃によって回避されない認証手段として使用することを考えていました。しかし、私はこれについてすべて間違っている可能性があります。

ご意見やご感想はありがとうございます。

+0

セキュリティが必要な場合は、https ....を使用して、特に証明書を確認した場合は、保証することができます。 –

+0

サーバーからクライアントへのデータの検証方法を確認できます。 Javaクライアントが適切なデータを送信していることを確認するにはどうすればよいでしょうか。この場合、Javaクライアントは自由にダウンロードできます。誰かが無効なデータをPHPサーバに送信しないようにしたいと考えています。すべてのTLS認証がJavaクライアントで実行されている場合は、まだエラーが発生しています。そのJavaクライアントを検証することは、転送のデータを自分自身で保護するのではなく、適切なものです。すべてのJavaクライアントは異なるエンティティですので、各クライアントのデータを個別に検証する必要があります。 – KayoticSully

+0

悪用するのはPHPサーバーに任されているので、すべての入力を検証するのはサーバーの仕事です。結局のところ、誰かがCURLセッションでシステムを攻撃しようとするだけではないことに気づかせることはできません。 PHPがサポートしているプロトコルの1つで接続を開始できるソフトウェアからの接続を受け入れることを忘れないでください。 – GordonM

答えて

0

あなたのサーバーが受け取ったデータが正当なバージョンのJavaアプリから得られたものであることを保証する方法はありません。任意の形式の暗号化を使用している場合、キーはアプリケーションのバイトコードのどこかに格納する必要があります。また、クライアント側のアプリケーションをハックして無効なデータを送信させることはあまり難しくありません。

正しいアプローチは、サーバー側でデータが正しいソースから送信されていない可能性があることを覚えておくことです。したがって、違法な行為がないことを確認するためにすべてのデータを検証する必要があります。

クライアントアプリケーションを使用している正当なユーザーがサーバーと通信していることが確実であることを保証したい場合は、HTTPSなどの非対称暗号化を使用できます。

関連する問題