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

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

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

ちょまど🎀ITエンジニア兼漫画家 @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
angel as ㌵㌤の猫 @angel_p_57

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

2020-07-13 01:33:59
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
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
残りを読む(2)

コメント

saku @sakuuuuuuune 2020年7月13日
素人には証明書がどうこう伝わらん話 httpsは通信自体が安全なだけで、相手が正しいとは限らないと言うこと 成り済ましを避けるには、できるだけ公式アプリを使うこと、ブラウザの警告をみること、可能ならドメインをよくみること、ぐらいが限度
14
SAKURA87@多摩丙丁督 @Sakura87_net 2020年7月13日
認証の甘い所だとよく分からん個人でも1日で取れるし、ドメイン確認しない奴なんかオレオレ証明書でも騙せそうだからなぁ。やはりドメインを確認するってのは大原則。
1
SAKURA87@多摩丙丁督 @Sakura87_net 2020年7月13日
ちなみに田舎は鍵なんか掛けないって言うのも、大体家に誰か居るからで、一家で出かけるときは流石に鍵掛けていくよ。
1
takatakattata @takatakattata1 2020年7月13日
マジもんの悪意サイトでも「本物」になっちゃうから判断が難しい
0
Palantir💫🎨9/19,20サガ愛MSスタッフ参加 @Palantir_K 2020年7月13日
ユニコードURLが可能になった時点でドメイン判別って無理だと思いました。
5
慌てず急いで正確に @osabori_jp 2020年7月13日
悪意サイト判別でドメイン名見分けようと思ってもねぇ jpドメインだとやろうと思えばwhoisに法人番号まで入れる事は可能だと思うけどやってないし。
0
らない @lanai_spr2 2020年7月13日
「httpsなら本物」は警察手帳っぽいものちらつかされただけで身元を信用するようなもん。小道具まで用意する「本物」の詐欺師もいる。 …とかそこまで落とさないと騙される層には伝わらないのでは。
4
Tsuyoshi CHO @tsuyoshi_cho 2020年7月13日
Sakura87_net 取るの自体は Let's Encrypt なりでだれでも無償で取れるのと、昨今のブラウザ他はオレオレだと認証エラーさせてると思う。…言わんとするところは分かる。
4
Tsuyoshi CHO @tsuyoshi_cho 2020年7月13日
tsuyoshi_cho この場合はドメイン持ってる例だけど
0
SAKURA87@多摩丙丁督 @Sakura87_net 2020年7月13日
tsuyoshi_cho アホ「認証エラー?意味分からんけど認証したろ!」
0
あ~れ~@E-7-3甲ギミック解除中(甲甲甲甲甲甲-) @31kt_Now 2020年7月13日
Httpsが効果あるのは盗聴されたときにパラメータ読み取られないぐらいで、2000年代からオレオレ認証局や審査しないで証明書を出す認証局がのさばったせいで、証明書でフィッシング詐欺のサイトか否か判断するなんてとてもじゃないけどできないよ。
0
キケリキー @KIKERIKI17 2020年7月13日
暗号化通信のプロトコルとして一般的に広まったのが、認証機能を持つSSL(ポート443)なので、「SSLでは暗号化される」という認知で問題ないように思う。その上で、SSL通信をしているだけでは「相手の保証」にはなっていない、証明書の種類やドメインの確認も含めて、初めて相手の保証につながるのだから、何も間違ってないように思うんだが・・・
4
くりあ/CLEA-R-NOT-3 @Clearnote_moe 2020年7月13日
両者が言ってる「なりすまし」の意味が違うだけに思うが。SSLで「○○というドメインである」ということを偽装するなりすましは防げるが、「○○という組織が運営するドメインである」というなりすましは防げない(EV証明書ならともかくだが、まとめではそういう話をしていない)。IPスプーフィングやMITMじゃなくて、今話題の後者のなりすまし詐欺は後者だから防げんやろ。
11
tog20xx @tog20xx 2020年7月13日
何の話してんのかさっぱり分かんねえ 。そもそも「確認」って目視の話なの?
0
キケリキー @KIKERIKI17 2020年7月13日
tog20xx 目視の話です。「smbc.co.jp」が正で「smdc.co.jp」を偽と判定するには、「三井住友銀行にアクセスした」という情報(前提条件)が必要で、通常それをブラウザが知ることはできません。
0
tog20xx @tog20xx 2020年7月13日
KIKERIKI17 なるほど?ブラウザ詳しくないので具体的な方法は分からんけど、jsか何かでブラウザのURLバーの表示は誤魔化せるので、検証された証明書のCNを見ましょう、て事で合ってます?
0
キケリキー @KIKERIKI17 2020年7月13日
tog20xx Punycodeでも偽装は可能なんで、目視相互チェックをして、ブラウザを最新にして警告機能もONにして、さらに最新のアンチウィルスが警告しないとかを指針とするより無く、本当に致命的なサイトは、リンクからではなくブックマークや直接入力から、仮に本家メールでも最新の注意を払って踏みましょう、的な・・・
1
キケリキー @KIKERIKI17 2020年7月13日
ただまぁ、そこまで神経尖らせるサイトって、実際にはごく一部よね。中華からの攻撃メールが激しい、Amazon、Apple、Lineとかのさ・・・
1
tog20xx @tog20xx 2020年7月13日
KIKERIKI17 ありがとう。多分大体理解した
0
Yeme @yer_meme 2020年7月13日
「httpsが安全」じゃなく「httpだと危険」を基本にすればいいっスよ。
1
Logue @logue256 2020年7月14日
Let's EncryptとGoogleの功罪で、SSL=本物ではなくなってしまった。 簡単に導入できるしねぇ・・・。 https://qiita.com/logue/items/3bd25c30aa48559c5cc0
2
yamadataichinokiseki @yamadataichino1 2020年7月14日
「泥棒がその名前(ドメイン)でやってますよ」ってだけの証明よね。その名前が組織に紐付いてる(所有、運営している)のを確認できないと、と。
1
壱縺怒左衛悶 パヨクLv2.1 @boku_moraimon 2020年7月14日
平たい話、泥棒でも簡単に証明書が取れる時代になっちゃったんで、仮にSSH の証明書が本物でも、とった人は信頼に足る人かどうかは全く別の話になっちゃったって事で。
1