IT用語/HTTPSだと安全なサイト

HTTPS≒安全なサイト?(2018-03-14、追記:2018-04-03)


「安全=HTTPS」みたいな印象を受けていて、
うちのサイトなんかは最近までHTTPS未対応だったから「危険なサイト」扱いされていた訳です。
・・・まぁ、安全でも危険でもない、はず、ですが
(毒にも薬にもならない、ぬるま湯のようなサイトを目指しています)
さらに、
Web検索なんかでもHTTPSを使っていないサイトは検索順位を下げるそうですよ。
個人でやっているサイトやブログなんかは、ますますハードルが上がりますね。

でも、
結論から言うとHTTPSで繋げば安全なんてことは無くて、
そもそもどこに繋いでいるのか(URLが正しいのか)とか、繋いでいるサイトが信用できるのかとか、
安全な点、安全ではない点は理解しないと不味いんじゃないかなぁと思う訳です。*1

つまり
Webブラウザの「鍵のマーク」が気に入らない、です。


HTTPS通信のイメージ

年賀状に
「あたけましたておためでとうごたざいたます  差出人:タヌキ」
と書いてキツネさんに送るようなものです。

この暗号化(「た」を除くと読めるようになる。すごい!)
をやってくれるのがHTTPSで、
年賀状を暗号化することで、
他の人に勝手に読まれることを防ぐことができます。

さらにHTTPSには本人確認の機能もあって
第三者であるウサギさん(認証局)が、
この年賀状は間違いなくタヌキさんが書いたものです、
滝さんや綿貫さんが書いたものではありません、と証明書を発行してくれるわけです。

amazon.com に HTTPS接続して、買い物すると、
amazon との情報とのやり取りは暗号化されるし
通信相手が amazon であることが保証される訳です。

保証される内容は、Webブラウザの鍵のマークをクリックすると見れると思います。
(証明書の発行元や暗号化方式や有効期限や、まぁ、色々

HTTPSを導入「しない」理由

Webサーバを用意する側のお話なのですが、

HTTPSは、手間やお金がかかります。

基本的には証明書を発行する業者にお金を払い続ける必要がありますし*2
ものによっては法人のみ、審査が必要とかの制約もあります*3
それからWebサーバ側の設定、https用のファイアウォールやNW設定やログ監視、保守の手間も増えます。
証明書と対になる鍵やパスワードは自己管理しなければならず、盗難紛失時は24時間即時対応しなければいけませんし、
証明書の有効期限の管理や更新も必要です。
さらに「暗号化」すれば機器の負担も増えて、アクセス数が多くなれば通信速度や処理時間に影響があったり無かったり・・・

これだけの手間ひまかけて、送った手紙の内容が「あけましておめでとう」だと採算がとれないのです。

いや、個人的に HTTPS って、そんな好きでは無いというか、
もちろん Webで買い物とかするなら、必須だけど、
うちのサイト(null-i.net)見るためにHTTPSって必要なのかぁ?
う~ん・・・
非HTTPSの冷遇っぷりが激しいのと、後学のため、導入しましたけど。。

本人確認の機能

う~ん・・・
昔はHTTPS=暗号化のイメージが強かったんですが、
私のサイトなんかだと、本人確認の機能の方が重要になります。
(null-i.netなのか、タヌキなのか通信相手が偽物ではない事を保証する)

具体例の1つとしては「DNSキャッシュポイズニング」なんですが、
ともかく、正しいURLを入力しても、ぜんぜん違うIPアドレスへ誘導させてしまう事は可能で、
偽IPアドレスへ接続させてから、
「いますぐ新しいGoogleアプリに更新しましょう」とか偽アプリをダウンロードさせたりするのが流行っているらしいです。

お金や個人情報を扱わないサイトでも、*4
自分のサイトを見ようとしたタイミングで、何かのウィルスに感染しました、
という事態を減らす為に、HTTPSを導入する価値はあるのかもしれません。
(「あけましておめでとうございます」だけの年賀状をHTTPS化する価値はあるのかもしれません)

HTTPSで接続した場合は、
偽物だった場合に「接続先が本人ではないかもしれない」とWebブラウザが警告してくれます。たぶん。

鍵のマークがあるから安全?


だから、ですねー。

騙す方の一案として、そもそも別のあて先(URL)に誘導するんです。
このAmazonの割引セールの宛先はこちら!とかいって、
Amazonと全然関係ないサイトで買い物させます。

  • 例えば「amazon.com.hoge.null-i.net/shopping.html」とか。
    重要なのは最後の「null-i.net/」の部分で、この接続先はamazonではなく、null-i.netです。
    (だから長いURLを入れたときに、後半を省略して表示する習慣って、良くないと思う)
  • 別の例として「αmazon.com」に接続させます。
    今度は最初の一文字目、Aではなく、アルファ「α」です。
    αなら分かり易いんですが、a そっくりの別の文字をギリシャ文字やらキリル文字やら色んな言語を駆使することで
    ブラウザが親切に(勝手に?)αをaに変換してしまって、もはや本物と見た目の区別はつかなくなります。*5

そうなると、HTTPSの接続先は「本物」(のニセモノ)なので、
Webブラウザには「鍵のマーク」がつくわけです。
Webサイトの持ち主が悪の秘密結社だろうが何だろうが「鍵のマーク」が表示されます。
もちろん証明書の内容を見ることはできるんですが、
いちいち見ませんよね、たぶん。
暗号化方式がRSAとかタヌキとか言われても、良いのか悪いのか分かりませんよね、きっと。

HTTPSができた当初はもっと「安全な通信」だったから、
そう表示される「なごり」があるんでしょうけれど、
いずれは、「安全なサイトです」って文言や「鍵のマーク」も変更になるかもしれませんね。

あと、余談ですが、
HTTPSで内容は暗号化できても、接続先がどこなのかは隠せません。
あなたがお勤めの会社でいかがわしいサイトとか見ると全て接続先の履歴は残っているのでご注意を。

安全な通信とは

封筒で書面を手渡しです。インターネットとか、安全な訳がありません。*6

冗談はさておき、
パソコン同士をLANで直結しても、漏れた電磁波を解析することで盗聴が・・・とかあるらしいですし、
USBメモリーで渡したとしても「挿した瞬間ウィルス感染、証拠も隠滅済み」なんて事件も実際あったとか。
(たしか海外で、発電所が停止したんでしたっけ?)

ITが過信できないというか、ITに置いて行かれそうで怖い。
ITを使用する側で、ちゃんと取捨選択できる仕組みは強化してほしいですね。


*1 まじめにやっているサイトは、高い金払ってHTTPSを導入する訳だから、当然「うちのサイトはHTTPSだから安全です!」って言いたくなりますよね。・・・。「null-i.net はHTTPSを使った安全なサイトです!」
*2 私は無料の「Let's Encrypt」を導入しました。
*3 「EV証明書」は法人格が必要だと思います、個人だと不可
*4 イメージとしては、「null-i.netを偽IPアドレスへ」というよりも「*.netを偽IPアドレスへ」設定を書き換えて攻撃するはずなので。
*5 こういうascii文字以外の変換の仕組みは「Google:ピュニコード」で検索できます。そういえば日本語ドメインって、あんまり普及しなかったですね。
*6 あと、文章は暗号化ね。タヌキのイラストを添えて。

  最終更新のRSS