0

次の数行で、私が心配しているトリックと、正確な問題の説明を説明します

トリック : 過去に、偽のサーバー応答を使用してプログラムをクラックしていました

  1. プログラム (クライアント) の接続を自分のコンピューターにループバックする
  2. 実サーバーからのログイン成功パケットのスニッフィング
  3. クライアントからの接続をリッスンし、偽の応答を返す偽のサーバー (リスナー) を作成する (私がスニッフィングしたもの)

しかし、彼らが何かを変更し、私のトリックが機能しなくなってから、それほど時間は経っていません。

(スニッフィングされたログイン パケットを送信しようとするたびに、クライアントがクラッシュし、偽のサーバー応答を受け入れなくなります)


問題 : 現在、独自のクライアント サーバー通信を作成しており、クライアントが偽のサーバー応答トリック (誰でも任意のユーザー名とパスワードでログインできる) にだまされるのを防ぎ、盗聴者から最高のセキュリティを提供したいと考えています。

(このパケットが私のサーバーからのものであり、盗聴されたログイン成功パケットを送信してクライアントとログインをだますだけの他の偽のサーバーからのものではないことを確認する方法)(別の方法で、クライアントが偽のサーバーにだまされるのを防ぐ方法(エミュレータ))

注:すべてがクラックされる可能性があるため、100%安全にするのではなく、プロジェクト全体を破壊するこの種のばかげたことを避けることを防止することを意味します


ポイントから離れていないことを願っていますが、すべてのポイントを明確に説明したかっただけです

4

1 に答える 1

0

あなたが何をしようとしているのか理解できれば、TLS を使用することは、クライアントが正しい相手に接続していることを確信させる便利な方法です。

ローカル ルートの信頼できる証明書またはピアの信頼できる証明書に対してサーバーの証明書を検証することにより、サーバーの証明書が「信頼できる」サード パーティによって発行されたものであり、接続先のホスト名が意図したパーティであることを検証できます。このような検証が失敗した場合、サーバーへの通信を防ぐことができます。

もちろん、これはクライアントが完全に侵害されていない場合にのみ役立ちます。

以下はあなたを少し助けるかもしれません:

認証
トランスポート層セキュリティについて

正しく設定されていれば、SSL は、クライアントが正しいサーバーに接続していることを確認するのに大いに役立ちます。ログイン情報をstackoverflowやgmail、その他のほとんどのWebサイトに送信していることを確認するために使用されるのと同じテクノロジーです. サーバーはその証明書をクライアントに送信します。クライアントはその証明書を取得し、数学の魔法を使用して、マシンの信頼できるストア内の証明書の 1 つによって発行されたことを確認します。その証明書には、ホスト名が埋め込まれています。ホスト名がクライアントによって接続されたものと一致し、証明書が信頼できるストア内の証明書によって発行された場合、接続が確立されます。信頼できるストア内のエンティティが証明書の発行先を知っていることを信頼しているため、サーバー証明書を偽造することはできません。ただし、クライアントが実行されているマシンが完全に侵害された場合、クライアントは独自の信頼できる証明書を信頼できるストアにインストールして、侵害されたマシンから接続するクライアントに対してサーバーになりすますことができます。この場合、ソースを逆コンパイルしても、攻撃者はサーバーになりすますことができません。SSL を利用する最も簡単な方法は、サーバーを Web サービスとして実行することです。TLS を実装するライブラリも存在する可能性が高いと確信しています。

于 2012-07-30T16:56:01.933 に答える