どうも、オタカタカオです。
Webには「http」という通信技術が使われてることは知ってる人も多いと思います。
これに似たものに「https」というものがあります。
文字だけ見れば「s」があるかないかの違いだけですけど、その仕組みは大きく違うんです。
今回はこの「http」というものと「https」というものの違いについて書きたいと思います。
[quads id=1]
httpで使われるのは人間が読める文字
httpはブラウザとサーバーの間でやり取りするために使われる通信技術ですが、これは人間が読める文字でやり取りされてます。
こんな感じです。
こんなふうに人間が読んで理解できる文章のことを「平文(ひらぶん)」と言います。
日本語でも英語でも数字でも記号でも。
とても分かりやすいです。
しかしっ!
情報が丸見えっ!
分かりやすいと盗み見られるキケンがあります。
こんな感じで。
他人の情報を盗み見るなんてことは普通はやりませんけどね。
(犯罪なのでやってはダメですよ)
でも、技術的にはできてしまいます。
どうやってやるか?
・
・
・
・
・
全くわかりません。
でも世界のどこかにはできる人がいるんです。
httpは個人情報のやり取りに不向き
他人の情報を盗み見るという行為は禁止されてます。
でも、そのようなスキルを持ってる人の中にはそのような行為をやってしまう人もいます。
そして、その情報を悪用する人も。
だから、httpでは個人情報のやり取りはできませんね。
危なくて。
そこで必要になってくるのが「https」という通信技術です。
httpsの「s」って何?
httpsは「HyperText Transfer Protocol Secure」の略称です。
httpsの「s」はSecureのことなんですね。
【Secureの意味】
安全な、危険のない、安全で、安定した、心配のない、保証された、確実な、約束された、安心して、心配がなくて
なんとなく、httpsは安全っぽいですね。
httpsがやってること
httpsの何が安全なのかというと暗号化です。
こんな感じのやつです。
3008574766
これは僕が適当な法則に基づいて、ある言葉を暗号化したものです。
解けるでしょうか?
(解いても何も良いことはありませんけど・・・)
考えるだけ時間の無駄なので答えを書きますね。
答えは「こんにちは」です。
これはこんな法則で変換してます。
1.ある言葉を1文字ずつに区切る
こんにちは→「こ」「ん」「に」「ち」「は」
2.文字を数字に変換する
「こ」→25
「ん」→03
「に」→52
「ち」→42
「は」→61
この文字から数字への変換は↓こんな感じの表で行いました。
3.変換した数字にある数字「X」をプラスする
「こ」→25 + X = 30
「ん」→03 + X = 08
「に」→52 + X = 57
「ち」→42 + X = 47
「は」→61 + X = 66
※「X=5」にしてます。テキトーに。
これを繋ぎ合わせたのがこれです。
3008574766
言うまでも無いですけど、一応念のため言っておきます。
これは僕が適当に考えた暗号化ですのであっという間に解読できてしまいますが、実際にWebで使われてる暗号化は果てしなく複雑です。
httpsでは暗号化された情報がやり取りされる
httpsでは暗号化された情報がブラウザとサーバーの間でやり取りされてます。
こんな感じです。
万が一盗み見られたとしても↓こうなります。
だから安全なんですね。
ここまででわかってもらえたと思いますが「http」と「https」の違いは、
平文なのか暗号文なのか!
です。
暗号化した情報を復号化で元に戻す
暗号化した情報だったら解読できないので安全ですが、そのままでは受け取る側も解読できないので全く意味がないですね。
そこで必要になってくるのが復号化です。
暗号化では平文を暗号文に変換しましたが、復号化はその逆で暗号文を平文に変換することをいいます。
「3008574766」を「こんにちは」に戻すということですね。
まとめ
今回は「https」が何をしてるのかということと、「http」との違いについて書いてみました。
要は、httpsが安全だということです。
僕が適当に考えた暗号化だとhttpsが安全なのかどうか疑わしくなるかもしれませんけどね。
実際はもっと複雑な仕組みですので、ご安心を。
では。
[quads id=1]
コメント