httpsって安全ではないんだっけ

「昔はhttpsなら安全だったんだけど…」的な話を最近見かけるけど、誤解が元になってたら結局適切に対処できないよね、ということでまとめました。 ※7/15追記、@chomadoさん本人から「URLの件は忘れてました」とコメント頂きました。知ってる人には空気みたいな存在になる、あるあるですね。
33

ご本人からURL・ドメイン名のこと忘れてました、とコメント頂きました。

ちょまど🎀💻エンジニア兼漫画家 @chomado

なりすましではないことを確認するために、 URL、ドメイン名をしっかり確認しよう💡☺️ (当たり前のことすぎて言及するの忘れてました)

2020-07-15 02:26:55

流石にそうだよね、とホッとしつつ、特に詳しくない人にとって大事なところがすっ飛ばされてしまうとやはり問題だと思いますので、内容はそのまま残しておきます。

angel (as ㌵㌤の猫) @angel_p_57

少し前にこのようなtweetがあって。前から度々取り上げてる話だけど、誤解が広がり続けるのも問題だから、一通りまとめておいた方が良いように思う。やはり @chomado さんの影響というのも大きいので。 twitter.com/chomado/status…

2020-07-13 01:33:15
ちょまど🎤今夜28(火)福岡登壇 @chomado

ラジオ番組 #シャングリラ にて フィッシング詐欺(なりすまし)のサイトについて 質問者「https で URL が始まってたら安全って聞いたけど」 安全の分野が違うかな https での通信プロトコルは 暗号化によって盗聴を防ぐだけでなく改ざんの検知の機能もあるけど なりすましではないとは限らない

2020-07-05 12:33:43
angel (as ㌵㌤の猫) @angel_p_57

例えばこのtweetのように。誤解が広まってしまっていく。「分かり易いから分かった気になる」というのは怖いことだ。 twitter.com/daihi_t/status…

2020-07-13 01:33:59
とみー氏 @daihi_t

わかりやすいー!これ説明する時、攻撃者もhttpsのサイトを用意しているのが大半になってます!って説明をするけれど、確かに分野が違うわ。。今度からこうやって言おう...w twitter.com/chomado/status…

2020-07-05 15:39:29
angel (as ㌵㌤の猫) @angel_p_57

まず「httpsだからと言って安全とは限らない」はその通りで、「httpsなら安全だ!」と思われるよりは遥かにマシなんだけど、背景や対策としてあまりまともな話が出回っていない。これは恐らく20年前から変わってない。

2020-07-13 01:34:37
angel (as ㌵㌤の猫) @angel_p_57

それで、誤解として主な点は2つ。

2020-07-13 01:34:58
angel (as ㌵㌤の猫) @angel_p_57

「なりすましでないとは限らない」そんなことはなくて、https(SSL/TLS)の機能は第一に「認証(なりすまし防止)」だ。だけどそれには大事な前提があって、そこがなおざりにされているがゆえに誤解されている。 twitter.com/chomado/status…

2020-07-13 01:35:23
angel (as ㌵㌤の猫) @angel_p_57

そして「証明書を確認」するという対策。誰が言い出したのか分からないけど、少なくともブラウザの機能がまともに整備された2000年すぎくらいからは的外れで気休めでしかない。にも関わらず広まってしまった。 twitter.com/chomado/status…

2020-07-13 01:35:57
ちょまど🎤今夜28(火)福岡登壇 @chomado

インターネット回線を介したネット上のやりとりは、盗み見られる可能性があるわけだけど https で始まる URL のサイトは 要するにインターネット上の通信を暗号化する技術に対応している でも「HTTPS 対応してるからなりすましではない」わけじゃない。この場合ちゃんと SSL 証明書確認したほうがいい

2020-07-05 12:40:24
angel (as ㌵㌤の猫) @angel_p_57

誤解の1点目。https(SSL/TLS)の機能として「認証(なりすまし防止)」が認識されていないこと。 ご存知の通り、https(SSL/TLS)には「サーバ証明書」が必要だ。その証明書はなんのためにあるのか。証明書にちゃんと載っている「サーバ認証」だと。 ※画像はgoogleの証明書を見たもの pic.twitter.com/gn0mK6xMxJ

2020-07-13 01:36:45
拡大
angel (as ㌵㌤の猫) @angel_p_57

簡単に言うと、サーバ証明書は運転免許証やパスポートと同じ、「身分証明書」だ。何を証明するかと言うと、「本物のサイトかどうか」という「サイトとしての身分」その証明が「サーバ認証」つまり、なりすまし防止に他ならない。 pic.twitter.com/h4Vb1N2H3O

2020-07-13 01:37:30
拡大
angel (as ㌵㌤の猫) @angel_p_57

ここで「サーバ認証」のための大事な前提がある。 身分証で本人確認する時に、「その人が誰か」を聞いて身分証と突き合わせる。同じように「本物のサイトかどうか」は「なんというドメインのサイトか」を突き合わせる。この点。

2020-07-13 01:38:07
angel (as ㌵㌤の猫) @angel_p_57

つまり、ドメイン名を把握していなければ判断できない。氏名を知らずに本人確認するようなものだからだ。サイトの絵面については、幾らでも本家をマネできるし、尤もらしくも作れるからアテにはならない。

2020-07-13 01:38:36
angel (as ㌵㌤の猫) @angel_p_57

そして誤解の2点目が関係する。 そうすると、必要な対策は、httpsである上で「そのドメインがアクセスしたいサイトなのか」「開いたこのページ、自分が把握しているドメインのサイトなのか」の確認だからだ。証明書の確認ではない。

2020-07-13 01:39:24
angel (as ㌵㌤の猫) @angel_p_57

これはかなり昔に公開された「安全なWebサイト利用の鉄則」にもばっちり書いてある。「ドメイン名を確認しましょう」と。今でも変わってないのだ。 rcis.aist.go.jp/special/websaf…

2020-07-13 01:39:54
angel (as ㌵㌤の猫) @angel_p_57

このページには証明書の確認についても書いてあるけど、これについてはちょっとアテにはできないところがある。「知らないドメインの場合、証明書から運営組織を確認する」というところだ。

2020-07-13 01:40:23
angel (as ㌵㌤の猫) @angel_p_57

なぜかというと、このページが公開された当時と違って「証明書には組織名が載っているものだ」という前提が大きく崩れているし、なにより組織名の判断が当てにならないからだ。

2020-07-13 01:40:59
angel (as ㌵㌤の猫) @angel_p_57

例えば、IBMのサイトの証明書。確かに O(組織名)=IBM と書かれているけど、それがみんなの知ってる大企業のIBMと同じだと判断できるだろうか。「US の New York の Armonk にあります」と言われても、同名の別組織じゃないのかなんてとても分からない。 pic.twitter.com/9dosdIq5Wn

2020-07-13 01:41:58
拡大
angel (as ㌵㌤の猫) @angel_p_57

企業の所在地なんてそうそう把握しているものではないし、企業名自体も正確に把握しているかというと怪しい。そうではなくて、「このお店○○.comでネット通販もやってるらしい」とか「この○○.jpで定期的にコンテストやってるんだって」と、ドメイン名の方がよっぽど識別子としての精度が高い。

2020-07-13 01:42:41
angel (as ㌵㌤の猫) @angel_p_57

なので大事なのはドメイン名。「ドメインなんて一般人には難しいから」とか言う人もいるけどそんな場合じゃなくて、「オレオレ詐欺対策にはまず本人確認」と同じように「ドメイン名が重要な『鍵』」と周知しなきゃいけないところ。

2020-07-13 01:43:20
angel (as ㌵㌤の猫) @angel_p_57

「このサイトのドメインは運送会社の公式のだっけ?」「あるサイトで振り込み手続きするように案内が来たけどこのサイトなんだっけ」それを意識するだけで、騙される危険性はグッと減る。

2020-07-13 01:44:00
angel (as ㌵㌤の猫) @angel_p_57

これは、ユーザ側の責任だけでもなくて、サイト運営者は正しいドメイン名を信頼できる方法で宣伝する義務がある、ということでもある。例えばTVや雑誌、電車の広告、物理店舗で配るパンフレット等々。信頼ある他のサイトに紹介して貰うという方法も考えられる。

2020-07-13 01:44:40
angel (as ㌵㌤の猫) @angel_p_57

「今まではhttpsなら安全だった」「でも今は安全ではない」それは、ここまでの基礎を放って置いて、さながら「田舎なら鍵かけなくても安全」と言っていたようなものだ。https(SSL/TLS)の技術特性は変わってなくて、知らなくてもなんとかなっていただけだ。

2020-07-13 01:45:26
angel (as ㌵㌤の猫) @angel_p_57

httpsだから安全だと思いました。ドメイン名? 知りません」を「身分証持ってるみたいだったから信用して通しました。氏名? さあ、確認してませんけど」と現実に置き換えてみれば、いかに異常なことかが分かる。

2020-07-13 01:45:59
angel (as ㌵㌤の猫) @angel_p_57

なお証明書を見ることについては「ニセサイトには無料の証明書が使われる傾向がある ( だから証明書を見ることは無意味ではない )」等の意見はありうる。だけど、これは場当たり的な対処に過ぎないし、状況が変われば役に立たなくなる。少なくとも優先度はとても低い。

2020-07-13 01:46:36