GNU/Linux >> Linux の 問題 >  >> Linux

HTTPとHTTPS:違いは何ですか?

ターゲットオーディエンス

この記事は、インターネットの仕組みを基本的に理解している一般の読者を対象としています。

はじめに

インターネットを閲覧する場合、ほとんどのWebページは、HTTPと呼ばれる通信プロトコルを使用してコンピューターに配信されます。HTTPと呼ばれる通信プロトコルは、WorldWideWeb上のWebページの大部分にサービスを提供します。ただし、HTTPSが機能する脆弱な通信スキームである可能性があります。

HTTP

ユーザーがブラウザのアドレスバーにWebアドレスを入力して[Enter]を押すと、Webページがブラウザウィンドウに表示される前に、多くのことが舞台裏で行われます。クライアントコンピューターは、最初にDNS(ドメインネームシステム)サーバーに、Webアドレスに関連付けられたWebサーバーの実際の数値IPアドレスを照会します。 IPアドレスがわかると、クライアントコンピューターはWebサーバーから要求されたリソースを要求します。その後、サーバーが応答し、Webページがユーザーのコンピューターに配信されます。これらはすべて通常ミリ秒以内に発生し、HTTPと呼ばれるプロトコルを使用します。

HTTP(HyperText Transfer Protocol)は、Webページの大部分がワールドワイドウェブを介して配信されるメカニズムです。これはサーバー/クライアント要求プロトコルであり、クライアント(通常はユーザーのコンピューター)がサーバーにデータパッケージ(通常はWebページ)を要求します。たとえば、仮想プライベートサーバーが要求を聞くと、ステータス応答(通常は「HTTP / 1.1200OK」)で応答します。次に、要求されたデータが続きます。したがって、クライアントからサーバーへの要求/応答は次のようになります。

CLIENT:
GET /index.html HTTP/1.1
Host: www.example.com
User-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0

SERVER:
HTTP/1.1 200 OK
Date: Wed, 16 Sept 2015 23:59:59 GMT
Server: Apache 1.3.3.3 (Unix)
Content-Type: text/html
Content-Length: 1922
<html>
<head>
<title>Welcome to my site!</title>
</head>
<body>
This is a very simple web page, written in HTML.
</body>
</html>


このプロトコルは1991年から使用されており、認識され、有効で、有用な通信プロトコルです。ただし、セキュリティを念頭に置いて設計されたことはありません。交換は暗号化されていません。つまり、傍受された場合、誰でも要求と応答の両方の内容を読み取ることができます。これは、許可されていないコンピュータがユーザーのコンピュータとインターネットの間の仲介役として機能し、送受信されたすべてのメッセージを読み取ってログに記録する「中間者」攻撃に対して特に脆弱です。

HTTPSを使用したWebの保護

ただし、HTTPと同様に機能するが、はるかに安全な別のプロトコルがあります。HTTPSは、HyperText TransferProtocolSecureの略です。 HTTPSはTLS(Transport Layer Security)を使用して、クライアントコンピューターとサーバー間の通信を暗号化し、データが傍受された場合にデータを使用できなくして読み取り不能にします。 SSL(Secure Socket Layer)と呼ばれるTLSも聞こえる場合があります。 SSLはTLSの前身であり、HTTPSの保護に役立つテクノロジーについて話すとき、多くの人が今でもその用語を使用しています。

TLSはデジタル証明書を介して機能します。要求に応じて、認証局(CA)はサーバーに証明書を発行します。サーバーは、接続されているクライアントに対してそのサーバーを認証する役割を果たします。 HTTPSトランザクションでは、クライアントはTLS対応サーバーに接続し、暗号化されたセッションを要求します。次に、サーバーはデジタル証明書のコピーで応答します。その証明書には、それを発行した信頼できるCAと、暗号化用のサーバーの公開鍵が含まれています。

クライアントはサーバーの証明書情報を受け取り、発行機関から証明書が有効であることを確認できます。クライアントがサーバーが本物であることを確認すると、乱数が生成されます。次に、その乱数を使用してセッションキーを生成します。次に、クライアントはサーバーの公開鍵を使用して乱数を暗号化し、サーバーに送信します。サーバーの公開鍵を使用して暗号化されているため、秘密鍵を使用してメッセージを復号化できるのはサーバーだけです。サーバーがクライアントのメッセージを復号化すると、生成されたのと同じセッションキークライアントを生成するために同じ乱数が使用されます。その時点から、サーバーとクライアント間のすべての通信は、そのセッションキーを使用して暗号化および復号化されます。送信される情報はHTTPトラフィックと同じですが、送信前に暗号化されるだけなので、万が一傍受された場合、傍受するエンティティは情報を解読できなくなります。以下のHTTPSトラフィックが以前のHTTPトラフィックの例とどのように見えるかを比較してください。

...........s.....*...."..*.....r.].di.s0.$. .<...v.b..'.....O..Z|.~$..!N...X...+./.
.......3.9./.5.
.............www.atlantic.net......
.................#..zS...$z.W..0.......c...#.;qu..*...3...... -.E;[email protected]/P.rU..0.....5P......#X...n.b.......C.&...tRgW.a.....{v.......)...-1..J9S.V..G.In......|..u..O0.....mU...|..q..Ja.O.n..G..E.W}8E.Q...0..k3t.........h2.spdy/3.1.http/1.1..........
...........................c...................................................................................................
....Q...M..V.Q$._...9.&ye.L.i..T'.l.y..3`]| .<...v.b..'.....O..Z|.~$..!N...X./..................([email protected]#8....u
..........(...........[[email protected]
.............g.m4..a..V&!B..d....bv.......3......&...c......
.....G...z..x.....SzV...H.P...L`...T.....s.{...ip....PY..)Z.[.<N.f}WOv$.>........../.....^.....hc ..e.\..`.L.!.c.m.=`...[....An...c2.N..?......$.|....M.?WA.x......NCIk.....j+VUZ..p...\ZM....=.<....Ra..S..% .o...{....\ nc..~c=.......'.]...D.t..p0.-b.8*g$Yo....!c...y.#......d..H9.o.+..'..xn\.... q.....H}-....Q>..D!...~.yV..v..
\Vi.P.....K.FV-........W.>]y....M...A\....>....i/o.+..b.P.."..H..xP..:......'...VX.......j.........0D...J..Zw....b.;b.
.....*.(..h.V.F.K..8..L.M.s...rwdc.{F%o.j....=.C...w.<.|..).3.. =32..g..>...h8(..;\}.h<....yP\6r.y..3.......592.W...r..pT.*.-D....e.]..).....
.....<.i..o`[email protected]_d"....m..!L .G.{........U.....[..r..S....a)?.SY...%....>...jl.....
.W.4.....X.Nd.....Z...%...a.;...om..mH..B.._...*......H..}(fi...,0..8..,}.[Z8.N..H...F....yj.N..b.^...].S.'......u..Z.j....spS.p.C.vhk...O..!..Y".|.w)El....t........R..h.....L.0i.M.)...E..V.C.....U........u..i.w......H..;.F.......u..
2Op.%........Z.>2.N2),.o..M..
...f.Z........7r9
.....

認証局からのTLS証明書の取得

認証局は、さまざまなTLS証明書を提供しています。価格は、必要な認証の範囲によって異なります。非常に基本的な証明書(たとえば、組織内のユーザーを検証するために使用される)は無料です。最も一般的な3つの検証レベルは、DV、つまりドメイン検証です。 、OV、または組織の検証 、およびEV、または Extended Validation 。 DV証明書は最も一般的であり、通常、ドメイン名のコントローラーに電子メールを送信することで検証されます。 OV証明書はもう少し信頼性を提供します。 CAは、ドメインの制御だけでなく、ビジネスがそのドメインを使用していることも確認します。 EV証明書は最も信頼されており、正当であることを証明するために組織からの重要な文書が必要です。これらの証明書は、特に訪問者と金銭的な関係がある場合に、安全なWebエクスペリエンスを提供したい組織によってよく使用されます。

暗号化プロセスは強力であり、安全でないHTTPトランザクションと比較してHTTPSメッセージを特に安全にしますが、チェーンには1つの弱いリンクがあります。それは、認証局が信頼に基づいて動作することです。たとえば、CAがハイジャックされた場合、すべてのブラウザで有効で信頼できるものとして受け入れられるドメインに対して、信頼できる証明書を発行できます。そのような証明書を持っている攻撃者は、そのドメインへのトラフィックを傍受する意図で信頼されているように見えるそのドメインの不正なコピーを設定する可能性があります。このようなイベントは2011年に発生し、オランダのCAがイラン政府によって侵害され、イラン市民のブラウジングセッションを傍受するために使用されました。これは一般的なことではありませんが、セキュリティを重視するユーザーは必ず知っておく必要があります。

HTTPS接続の識別

HTTPS接続が安全であることを確認する最も簡単な方法は、ブラウザのアドレスバーを確認することです。ほとんどのブラウザは、Webアドレスの近くにある南京錠のアイコンでHTTPS接続を識別しますが、暗号化されていないHTTP接続にはそのようなアイコンはありません。以下は、Firefoxでの通常のHTTP接続の例であり、その後にFirefoxとGoogleChromeでのHTTPS接続の例が続きます。

FirefoxでのHTTP接続

FirefoxのHTTPSインジケーター

ChromeのHTTPSインジケーター

また、その横に組織名またはサイト名を含む緑色の鍵のアイコンが表示される場合があります。このより目立つアイコンは、以下のように、組織がEV証明書を取得したことを示しています。

FirefoxのHTTPSインジケーター(EV TLS証明書付き)

結論

HTTPSは、HTTPが開いたままにする必要性、つまりセキュリティの必要性を満たします。使用される交換とプロトコルは同じです。 HTTPSだけが、インターネットを介して渡される情報を保護するのに役立つ暗号化の追加ステップを追加します。絶対に安全なものはありませんが、パスワードやクレジットカード/銀行口座番号などの機密情報をネットワーク経由で送信する前に、WebサイトがHTTPS暗号化を使用していることを確認する価値があります。

Atlantic.Net

1995年以来、Atlantic.Netは、マネージド、クラウド、専用ホスティングなどのインターネットサービスを顧客に提供してきました。 20年以上のサービスの中で、私たちのソリューションは、大切なお客様に最高のWebソリューションを提供することに重点を置いてきました!


Linux
  1. LinuxとUnix:違いは何ですか?

  2. InnoDBとMyISAMの違いは何ですか?

  3. UbuntuにApacheWebサーバーをインストールする方法

  1. Webサーバーとは何ですか?Webサーバーはどのように機能しますか?

  2. Ubuntuサーバーとデスクトップ:違いは何ですか?

  3. ls と l はどう違いますか?

  1. cPanelとWHMの違いは何ですか?

  2. CloudLinuxの利点は何ですか?

  3. unlink と rm の違いは何ですか?