web-dev-qa-db-ja.com

ポート443上のHTTPとポート80上のHTTPS

違いは何ですか

http://serverfault.com:44 および https://serverfault.com:8

理論的にはどちらが安全ですか?

25
mohsinulhaq

httpおよびhttpsは、使用中のプロトコルを示します。

httpは、暗号化されていないクリアテキスト通信に使用されます。これは、転送されたデータが傍受され、人間によって平文で読み取られる可能性があることを意味します。ユーザー名/パスワードのフィールドは、たとえばキャプチャして読み取ることができます。

httpsは、SSL/TLS暗号化通信を指します。読み取るには復号化する必要があります。通常/理想的には、エンドポイントのみがデータを暗号化/復号化できますが、これは警告付きのステートメントです(以下の編集を参照)。

したがって、httpsはhttpよりも安全であると考えられます。

:80と:443は、使用中のサーバーポート(つまり、「単なる数値」)のみを参照しており、セキュリティに関しては何の意味もありません。

ただし、ポート80を介してhttpを送信し、ポート443を介してhttpsを送信するための強力な規則があり、問題の組み合わせは少々奇妙なものになっています。ただし、エンドポイントが一致し、中間フィルターオブジェクトがない限り、これらは技術的に完全に使用できます。

つまり、http://example.com:44https:/より安全ではありません。 /example.com:8そしてその違いは実用的であり(たとえそれがいくつかの方法で相殺されても)、単なる理論的なものではありません。

ワイヤーシャークなどのプロトコルデコーダーで各セッションをキャプチャして比較しながら、サーバーポートと暗号化ステータスを操作するウェブサーバーとクライアントを使用して、これらのステートメントの有効性を簡単にテストできます。

[[〜#〜]編集[〜#〜]-クライアント/サーバーパスのセキュリティに関する警告]

本質的にhttps man-in-the-middle攻撃に相当するものは、盗聴やなりすましの目的で実行される可能性があります。状況に応じて、悪意、慈悲の行為として、または無知であっても判明する場合があります。

攻撃は、 ハートブリードバグ または プードルの脆弱性 などのプロトコルの弱点を悪用するか、またはhttpsプロキシをクライアントとサーバー ネットワークパス内 または クライアントに直接

悪意のある使用についてはあまり説明は必要ないと思います。善意の使用は、たとえば、 logging/ids の目的で着信https接続をプロキシする組織、または フィルタリングの許可/拒否されたアプリケーション の発信https接続です。無知な使用の例は、上記のLenovo Superfishの例、または同じスリップアップの 最近のDellのバリエーション です。

EDIT 2

世界がどのように驚きを待ち続けているか気づいたことはありますか?スウェーデンでスキャンダルが発生しました。3つの郡議会の医療機関が、患者の電話を通じて医療イベントを登録するために同じサプライチェーンを使用しています。

それがそうであったように、質問はそれによって物事の壮大なスケールで答えを得ます。それが実際の冗談であり、実際の出来事ではなかったとしたら...

Computer Swedenのニューステキスト から翻訳された2つのスニペットを貼り付けます。

「コンピュータースウェーデンは今日、ヘルスケアの患者の安全と個人の誠実さに関して史上最大の災害の1つを明らかにすることができます。何らかの形式のパスワード保護やその他のセキュリティ手段を備えていないオープンウェブサーバーで、患者から医療勧告番号1177を介して270万件の通話が記録されています。通話は2013年まで遡り、170.000時間の敏感な音声が含まれています誰でもダウンロードして聞くことができるファイルを呼び出します。

[...]

通話は、IPアドレス http://188.92.248.19:443/medicall/ のVoice Integrated Nordicsストレージサーバーに保存されています。 TCPポート443は、トラフィックがhttpsを介して渡されたが、セッションは暗号化されていないことを示します。

これが無知のもう1つの例であるのか、まったく新しいカテゴリを見ているのか、私には判断できません。アドバイスを下さい。

30
ErikE