見出し画像

SSL暗号化通信の仕組み③(認証局編)

どうも!WESTエンジニアです!
今日も元気にIT技術の紹介をしていこうと思います!

今回はSSL暗号化通信の第三弾ということで認証局について説明していこうと思います!
過去の記事はここに載せとくんで、まだ読んでないよって人は是非読んでから戻ってきて欲しいっす
第二弾の続きの体でこの記事書いてます

SSL暗号化通信の仕組み①(SSLとは何者?)

SSL暗号化通信の仕組み②(暗号方式編)

※今回の記事は、2021年03月10日時点のIPAのページを参考に作成しています



ほな、やってきましょう!!

WebアプリケーションにおけるSSL通信には、公開鍵暗号方式と共通鍵暗号方式を併用したハイブリッド方式が用いられる。ブラウザからSSL通信リクエストをサーバ側に送信すると、サーバ側で用意しておいた公開鍵をブラウザに返信する。ブラウザは共通鍵を生成し、受け取った公開鍵で暗号化してサーバへ送信する。サーバ側は、秘密鍵で復号化し共通鍵を取り出す。それ以降の通信は、共通鍵で暗号化・復号化される。

前回、ハリーとハーマイオニーの例を使ってこの文章のイメージはつくようになったと思います

で、おおよそは理解できたんじゃないかと思うんですが、この部分

ブラウザからSSL通信リクエストをサーバ側に送信すると、サーバ側で用意しておいた公開鍵をブラウザに返信する。

これサーバ側が、本当に安全なサイトかどうかってどうやって判断してるんやろって思いません?

例のように、ハリーで説明すると

グリフィンドールの秘密の計画をハーマイオニーとするために
スリザリンに計画が漏れないように「SSL通信でやり取りしよう!」と
ハリーがハーマイオニーに持ちかけるわけですね

「かまへんよ!」ってハリーにハーマイオニーの公開鍵を渡すよね
公開鍵を受け取ったハリーは

共通鍵を2つ作って、それをハーマイオニーに渡す
そのとき、マルフォイに見られないようにハーマイオニーにもろた公開鍵で暗号化するわけですね

復習になるんやけど、公開鍵で暗号化されたものは、秘密鍵でしか復号化できひんかったね
秘密鍵は作った本人しか持ってないから、たとえマルフォイが公開鍵を持ってたとしても中身を見ることはできひんかったよね

ハーマイオニーは自分の秘密鍵で、ハリーからの手紙を復号化して
無事に共通鍵をGETしたあとは、共通鍵で暗号化・復号化をして手紙のやり取りをするんやったね

これが、ハイブリッド方式っちゅうもんやね

で、ですよ
ここで着目して欲しいのが、いっちゃん最初のやり取りの部分
ハリーがハーマイオニーから公開鍵を受け取るところなんやけど

もし、マルフォイがハーマイオニーに変装してた場合。。。

マルフォイが自分で秘密鍵と公開鍵を作って、その公開鍵をハーマイオニーを装ってハリーに送った場合、ハリーはハーマイオニーやと思ってやり取りしちゃいますよね!

そうなんですよ、ここをどう担保してやるかが今回の話っちゅうわけです

公開鍵を受け取るハリーは、ほんまに送り主がハーマイオニーかを検証する必要があるわけですね


ここで登場するのが認証局ことダンブルドア校長です

認証局ってのは、
「この人ほんまもんやよ」って保証してくれる人なんよ

そこでハーマイオニーは、ハリーに送り主がハーマイオニーだということを証明するために、ダンブルドアに証明してよとねだりにいくわけです

ハーマイオニーから「署名要求(サインちょうだい!っちゅうお願い)」を受け取ったダンブルドアは、名簿を調べ「ふむふむ、確かにこの子はグリフィンドールのハーマイオニーじゃ」と確認できると
ハーマイオニーから受け取った署名要求に、サインしてあげます

ダンブルドアのサイン入り署名要求が、証明書になります

ハーマイオニーは、こうして証明書をハリーに見せつけ
正真正銘のグレンジャーであることを証明します
ハリーは、受け取った証明書を調べダンブルドアに署名されていることを知ります

こうして、ハリーは送り主が本物のグレンジャーであることを確証できるわけです


これが認証局の役割になります
どうでしょうか?少しはイメージ掴んでもらえたんじゃないでしょうか

ちなみに、認証局には種類がありまして、上から
・ルート認証局
・中間認証局
とあります

というのも、全ホグワーツ生の認証をダンブルドア1人でするのって無理ですよね(魔法使えよ。。。)

なので、スネイプ先生やマクゴナガル先生・ハグリッドなんかがいるわけです

彼らが俗にいう、中間認証局の役割をしてます
中間認証局は、ルート認証局に身分を証明してもらっています

なので、それぞれの認証局の親を辿れば、本当に信頼できる先生なのかがわかるし
ダンブルドアは、認証作業を先生たちに委託できるっちゅうカラクリです


さらに、認証してもらう方法にはレベルってのがあります
これも上から
・EV
・OV
・DV

EVが最強の認証レベルで、このレベルの認証監査には
・そのサイト本当に存在する?
・その企業本当に存在する?
・住所はどこ?
みたいなとこまで調べられるらしいっす
結構、お金もかかるらしいんやけどこのEVレベルの証明をGETできると

「超安全で超信頼できるサイト」の称号を得ることができます

で、その次がOVで最後にDVって感じ


はい、以上で認証局の説明は終わりなんやけど、どうでしたでしょうか

もっかい、これ読んどきますか

WebアプリケーションにおけるSSL通信には、公開鍵暗号方式と共通鍵暗号方式を併用したハイブリッド方式が用いられる。ブラウザからSSL通信リクエストをサーバ側に送信すると、サーバ側で用意しておいた公開鍵をブラウザに返信する。ブラウザは共通鍵を生成し、受け取った公開鍵で暗号化してサーバへ送信する。サーバ側は、秘密鍵で復号化し共通鍵を取り出す。それ以降の通信は、共通鍵で暗号化・復号化される。

ここには記載が省略されてますが、認証局の部分までイメージできたんじゃないでしょうか


最後に実際にAmazonのサイトの証明書見て終わりにしようと思います!

ここアクセスしたら、URLの左にある鍵マーク押してみよー

証明書ってのがあると思います

ここ押すとこんな感じで、証明書が出てくるんですねー

いっちゃん下がサーバ証明書で、DigiCert Global CA G2っていう中間認証局に署名された証明書になります
ちなみに、CAとは認証局のことです

で、これが中間認証局の証明書になってます
詳細な情報ってとこを押すとこんな感じで、誰が発行したのか確認できます

発行者名の通称がDigiCert Global Root G2となっていますね
これがルート認証局になり、もう一つ上の証明書になります

これですね!色が違いますね

ちなみにルート認証局の証明書は、ルート認証局自信が証明しています笑

サブジェクト名と発行者名の通称が同じですよね

ま、ダンブルドアなど本当に限られた人しかルート認証局にはなれないので、野蛮ではあるんですがこうやって自分で自分を証明しています


はい、これでSSL通信の記事は完了ということになります!
みなさんお疲れさまでした!

Webアプリケーションのエンジニアである僕は
この辺りの知識が全くなくて、多少痛い目をみたので
みなさんに知ってもらえたらなと思い、執筆させていただきました!

少しでもみなさんのお役に立てたらうれしいかぎりです

では、これからも楽しくITの勉強していきましょー!

バイバーイ!

この記事が気に入ったらサポートをしてみませんか?