折角だからSSL/TLSの概要を簡単に説明してみた

あんまり細かく説明するとグダグダになるので、超基本かつ重要なところに絞ってSSL/TLSおよび証明書の説明をしたもの
17
angel (as ㌵㌤の猫) @angel_p_57

じゃまあ、折角だから「簡単な」説明だけやっちゃうか。> 証明書含めSSL/TLSの概要 なお、既存の説明と混ぜ合わせるのは注意。だってデタラメな説明と整合するわけないんだから。混乱のもと。 twitter.com/angel_p_57/sta…

2023-05-27 22:37:54
angel (as ㌵㌤の猫) @angel_p_57

うーん。根はとっても簡単なのだけど。> SSL証明書 ※テキトーな説明が出回ってるせいで、そこを否定して回る分がどうしてもマイナスにはなる。ほんとろくでもない。 twitter.com/infragirl755/s…

2023-05-26 21:15:43
angel (as ㌵㌤の猫) @angel_p_57

まず、暗号技術による通信保護の方式として代表的なものが SSL/TLS、他にも類似の方式として SSH がある。一応後者は github なんかで使う人も最近多いから、名前だけは挙げておこう。

2023-05-27 22:38:32
angel (as ㌵㌤の猫) @angel_p_57

SSL/TLS と併記風にしているのは、かつてあった SSL という規格の延長上に TLS があり、今はその SSL は使われていないけど、用語として結構残っているから。それ以上に深い意味はないし、単に TLS でも構わないし、もう使ってないとはいえ SSL でも大抵は通じる。

2023-05-27 22:38:58
angel (as ㌵㌤の猫) @angel_p_57

通信保護ってなに? というと、通信の暗号化 ( やりとりするデータを暗号化して第三者から秘匿する )、改ざん検知 ( やりとりするデータが書き換えられたらそれと分かる ) の2点セット。前者はよく説明されるけど、後者は忘れられがち。

2023-05-27 22:39:30
angel (as ㌵㌤の猫) @angel_p_57

で、SSH については記事「SSHの公開鍵ってなに?」qiita.com/angel_p_57/ite… にあるけど、今回は SSL/TLS の方。 こちらは、HTTP(web) であったり、SMTP,POP,IMAP (mail) といった通信方式と組み合わせて使う。代表的なのは HTTP を保護した HTTPS で、https://~ というURLで誰もが目にしているはず。

2023-05-27 22:39:59
angel (as ㌵㌤の猫) @angel_p_57

情報処理技術者試験で「7階層モデル」ってのを覚えた人であれば、第4層 ( トランスポート層 ) に位置するものだと思い出してほしい。名前からして Transport Layer Security で TLS だし。 ※ HTTP とかは第7層 ( アプリケーション層 )

2023-05-27 22:40:28
angel (as ㌵㌤の猫) @angel_p_57

さて、で、SSL/TLS で暗号化・改ざん検知を行うわけだけど、その詳細はある意味どうでもいい。「なんかいい感じに暗号化とかしてます」で構わない。重要なのはそんなところではない。

2023-05-27 22:40:54
angel (as ㌵㌤の猫) @angel_p_57

それよりも重要なのは、通信保護の前提となる「(サーバ)認証」これは、「アクセスしているサイトが本当に ○○.com ですよ」という、サイトとしての「本人確認」を表すものだ。

2023-05-27 22:41:18
angel (as ㌵㌤の猫) @angel_p_57

「え? なんでそんなの要るの?」というと理由は簡単。SSL/TLS での通信保護がなかった場合、「通信相手が ○○.com である」という保証がないから。「http: //○○.com/ ってブラウザに指定したよ?」と言っても、通信に干渉を受ければニセのサイトに接続させられる可能性がある。

2023-05-27 22:41:52
angel (as ㌵㌤の猫) @angel_p_57

加えて、SSL/TLS で幾ら暗号化ができるといっても、意図した相手と通信できていなければ意味がない。「amazon .comで買い物します、クレジットカード番号含め暗号化して貰わないとね」という場面で「暗号化したけど実は amazoness .com に接続されてました」では意味がないから。

2023-05-27 22:42:33
angel (as ㌵㌤の猫) @angel_p_57

そのために使われるのが、(SSL)サーバ証明書という、一種の公開鍵証明書だ。SSL証明書と言ったり、TLS証明書と言ったり、呼び方は色々あるけど、まあそこの違いは気にしなくていい。 これは運転免許証やパスポートのように「サイトの身分証明書」として働く。 pic.twitter.com/fOsG4bjKoL

2023-05-27 22:43:24
拡大
angel (as ㌵㌤の猫) @angel_p_57

サーバ証明書含め、各種公開鍵証明書はデジタル署名の応用事例で、「この公開鍵の所有者は○○です」というのを、認証局(CA)という組織が証明するデータとなる。デジタル署名含めこのまとめ程度把握していれば十分。 togetter.com/li/1803195

2023-05-27 22:44:21
angel (as ㌵㌤の猫) @angel_p_57

で、本人確認するときに「身分証拝見します…、写真と同じ人ですね、確かに日本花子さんと本人確認できました」と手続きするように、サーバ証明書も同じような使い方をする。違うのは写真ではなく公開鍵が出てくるというところ。

2023-05-27 22:44:44
angel (as ㌵㌤の猫) @angel_p_57

この公開鍵は、サーバが持つ署名作成用の秘密鍵とセットになっている。サーバは認証の度に使い捨ての署名データを作り、クライアントでは公開鍵で検証 ( 署名が本物かどうか確認 ) する。正しい署名を作れるのは秘密鍵の持ち主だけだから、これが顔写真代わりに本人確認に使えるということ。

2023-05-27 22:45:19
angel (as ㌵㌤の猫) @angel_p_57

もちろん、身分証で氏名を確認するのと同じように、「証明書が今アクセスしている○○.com用の『公式かつ有効な』ものである」ということも一緒に確認している ( でないと意味がない )。 ただこれはブラウザが勝手にやってるので、ユーザはURLが意図通りのサイトのものか確認していれば良い。

2023-05-27 22:45:57
angel (as ㌵㌤の猫) @angel_p_57

ということで、「サーバ証明書による認証」というのが、SSL/TLSで一番大事なところ。ユーザは認証手続きをブラウザに任せつつ、アクセスしているURLを把握する ( 意図通りのサイトのURLか、等 ) のがポイントとなる。

2023-05-27 22:46:22
angel (as ㌵㌤の猫) @angel_p_57

ちなみに、これあんまり誰も言わないんだけど「このURLが確かにアクセスしたかったサイトのものです」というのは、twitter.com 含め有名サイトだと問題にならないんだけど、そうでない場合 Web 上では本来完結しない。

2023-05-27 22:47:04
angel (as ㌵㌤の猫) @angel_p_57

なので新聞やテレビで「わが社のサイトは○○.com!」的な周知するのが筋なんだけど ( アメリカのCMってそんな感じよね )、日本だと大分意識が薄いし、なんなら「○○で検索!」的な宣伝が流行ったせいで逆行している感すらある。

2023-05-27 22:47:38
angel (as ㌵㌤の猫) @angel_p_57

まあ、「○○急便です、こちらのサイトにアクセスしてください!」的な詐欺に引っかかる人が後を絶たないのは、そういう基礎知識の薄さが効いてるんだろうなあと思う。 ※「○○急便のサイトは○○.com!」って周知が別途あれば、URL見て回避できるわけだから

2023-05-27 22:48:16
angel (as ㌵㌤の猫) @angel_p_57

ところで、巷の宣伝文句だと「証明書は信頼の証」的なものがあったりするんだけど、ここから分かるように「URL通りの本物のサイトか分かるための身分証」でしかないので、サイトの信頼性には直接結びつかない。

2023-05-27 22:48:38
angel (as ㌵㌤の猫) @angel_p_57

サイトの信頼性は、あくまでサイト運営者がコンテンツの質であったりサイトの知名度なりで培うもので、サーバ証明書はそれを「本物のサイト」という「認証」で裏付けるものでしかない。

2023-05-27 22:49:07
angel (as ㌵㌤の猫) @angel_p_57

早い話、パスポート見せて本人確認できても、それだけでその人の信頼性は上がらんでしょ、ってこと。なんなら悪意あるサイトでもフツーにサーバ証明書取得して運営はできる。「通信の保護」と「サイトの信頼性」は分けて考えましょうというのが注意事項。

2023-05-27 22:49:34
angel (as ㌵㌤の猫) @angel_p_57

取り敢えずこんなところだろうか。 人によっては「DV/OV/EVの説明が無い!」と不満に感じるかも知れないけど、当然そんなの「重要性が薄いから外している」だけなので悪しからず。

2023-05-27 22:51:00