web-dev-qa-db-ja.com

私のAndroidアプリは、パブリックWifiに接続されているときにTLSまたはその他の暗号化を使用していますか?どうすればわかりますか?

私はAndroid電話を持っています。それが私のキャリアの3Gネットワ​​ークにのみ接続されている場合、私はそれが盗聴に対してかなり安全であると想像します(無傷ではありません)。しかし、時々受信の欠如または他の理由により、公衆Wi-Fiネットワークに接続して、スマートフォンをそのまま使用できます。

でも心配です。 GMailアプリ、銀行アプリ、またはTwitterなどの重要度の低いものを使用すると、データは安全に送信されますか?または、他の誰かがこの方法で送信された私のメッセージを読んでいる可能性はありますか?

ブラウザにGmailまたはTwitterをロードすると、URLのプロトコルがhttpsであるかどうか、および証明書が有効であるかどうかを確認できます。ほとんどのブラウザには、セキュアモードですべてがチェックアウトされていることを通知する目立つアイコンがあります。 Android私が見たアプリにはこのようなものはありません。私が知る限り、開発者がアプリのトラフィックを確保したことを盲目的に期待しているだけです。

Androidアプリは個人情報をWifi経由で安全に送信していますか? どうすればわかりますか?そして、Googleがこれを実施するために使用できるOSの標準または機能はありますか?それとも、それ自体がすべての開発者ですか?

14
Joshua Carmody

3Gネットワ​​ークに固有の暗号化と認証は、3Gプロバイダーのインフラストラクチャ内でのみ保護し、それ以降は保護しません。暗号化されていないプレーンなHTTP接続を電話で行う場合、データはプロバイダーのネットワークの外に出て保護されなくなり、インターネット全体に入り、野生の獣が歩き回ります。アプリが保護されていないプライベートデータを送信している場合は、送信がfirstでWiFi経由か3G経由かに関係なく、問題があります。 WiFiは、問題をさらにローカル化しますローカルに明白です

電話機での処理方法を理解するには、PCと同じように、 パケットキャプチャアプリケーション を実行します。しかし、それはおそらく電話を根付かせる必要があります。さらに、キャプチャがSSL/TLSセッションを示している場合でも、クライアントがサーバー証明書を認証する方法(特に、アプリケーションが受け入れるルート証明書、および目的のサーバー名と証明書を照合する方法)はわかりませんなので、ランダムアプリが適切に動作することを完全に保証することはできません。

OSには、TLSの使用を強制するものはありません。しかし、少なくとも適度に良い TLSクライアント が提供されており、SSL/TLSを実行したいほとんどのアプリは実際にはHTTPSを使用します。ウェブブラウザ)。したがって、SSL/TLSを使用しているが、それを台無しにするアプリ開発者は、彼のだらしのなさで異常に創造的だったに違いない。

11
Tom Leek

GMailアプリ、銀行アプリ、または「Twitterのようなそれほど重要ではないもの」では、WiFi(または有線)接続を介してデータを安全に送信する必要はありません。データが安全に送信されているかどうかを判断するには、各アプリケーションを調査する必要があります。

「パブリック」WiFiを使用すると、アクセスポイントが「友好的」であるか、または同じホットスポット上のピアが同様であるかを確認する方法がないため、有線接続では不可能な攻撃にさらされる可能性があります。いいね」.

HTTPS、TLS、さらには(Gasp)MD5ハッシュのセキュリティ機構を克服することができます。 「完全に安全な」ネットワークプロトコル/通信スイートなどはありません。 「安全性の高い」ものと「安全性の低い」ものしかありません。ただし、これらのパブリックホットスポットを利用している間に、保護の追加レイヤーとして追加できるものがあります。

VPN、SSLトンネリング、プライベートブラウジング、TOR、privoxy、「HTTPSが必要」設定などの多くのものを利用して、これらのパブリックホットスポット上の通信のセキュリティを強化できます。

Androidでは、VPNを簡単にセットアップできます。常にパブリックホットスポットからホームサーバーにVPNを接続し、そこからインターネットにトラフィックをプロキシすることを検討する必要があります。

VPNを使用することは、未知の/信頼できないWiFiホットスポットのセキュリティを強化する良い方法です。

あなたの最後の質問に答えるために-それは確かに、「Android生物圏におけるすべての開発者自身!」

2
Mike S.

どうやら、独自の自己署名証明書を証明書ストアに追加し、ローカルwifi接続を介してアプリの接続を中間者で追加することもできます。

一部のアプリケーションは、httpsが機能しない場合に安全にhttpを使用できないため、アプリケーションでssl stripを試します。

詳細については、次のポッドキャストを参照してください

0
Andrew Russell