SSL
通信内容を暗号化するよ
インターネットで使うよ
「Secure Sockets Layer」の略だよ
簡単に書くよ
SSL(読:エスエスエル)とは
インターネット上でやり取りする情報を暗号化して送受信するための仕組み
です。
詳しく書くよ
サクっと一言で説明すると
インターネット上の通信を暗号化するための仕組み(のひとつ)
が「SSL」です。
「Secure Sockets Layer(セキュア・ソケッツ・レイヤー)」の略で「SSL」ね。
気が向いたら、覚えてあげてください。
※「Secure Sockets Layer」を何となく日本語にすると「『安全な受け口』層」となります。[詳細]
インターネットをするときは線の中を情報がうねうね通りますが、線の中を通ってる間に情報がパクられたり盗み見られたりする恐れがあります。
「そんなことは、させない!」と熱く正義の心を燃やしても良いのですが、賢い人たちは一味違いました。
見られても実害がないようにすれば良いんじゃね?
と考えたのです。
彼らは、情報を送るときにメチャクチャにして、受け取ったときに元に戻せる方法を考えました。
そうすれば、途中でパクられようと、盗み見られようと、悪い人の手元に行くのはメチャクチャな情報です。
悪用しようにもメチャクチャなので、できません。
ざまーみろ、ばーか、ばーか。
そのような理念から生まれたのがSSLです。
ごめんなさい。
ちょっと適当なことを書きました。
実際に何を考えて生み出したのかは分かりません。
ただし
・通信内容を暗号化する
・だから盗み見られても大丈夫
というのは本当です。
それでは実際の仕組みについて何となく見ていきましょう。
やり方自体はいろいろあるようですが、この説明を書いている時点の主流は以下の流れになります。
1.まずクライアントさんがサーバさんに挨拶します。
2.挨拶を交わしたサーバさんは、クライアントさんに自己紹介のお手紙(サーバ証明書)を送ります。
お手紙の中にはサーバさんの「これを使って暗号化してね」な鍵(サーバの公開鍵)が入っています。
3.サーバさんから自己紹介のお手紙を受け取ったクライアントさんは、自分のやり取りしているサーバさんが本物か確認します。
場合によっては保証協会さん(認証局)に問い合わせたりもします。
確認して本物だった場合「これを使って暗号化してね」な鍵(サーバの公開鍵)を取り出します。
4.次にクライアントさんは、サーバさんと秘密の会話をするためのルール(共通鍵)を作ります。
5.作ったルール(共通鍵)を「これを使って暗号化してね」な鍵(サーバの公開鍵)を使って暗号化します。
6.暗号化されたルール(暗号化された共通鍵)をサーバさんに送ります。
7.サーバさんは、暗号化を解除する鍵(サーバさんの秘密鍵)を使って、暗号化されたルール(暗号化された共通鍵)を元に戻します(復号)。
これでクライアントさんもサーバさんもやり取りするためのルール(共通鍵)を手に入れました。
あとは、そのルール(共通鍵)に従ってやり取りをするだけです。
ルール(共通鍵)を知らない人は、やり取りを盗み見たところで、何が書いてあるか分からないってな理屈です。
これがSSLの仕組みですが、よく分からない人のために、もう少し簡略化した説明も書いておきますね。
1.まず宝箱とその宝箱を開ける鍵を2本用意します。
2.宝箱を開ける鍵をクライアントさんとサーバさんで1本ずつ持ちます。
3.あとは書いた内容を宝箱に入れてやり取りします。
これで、やり取りしている途中で宝箱を盗まれても、鍵がなければ中を見られません。
秘密は守られました。
めでたし、めでたし。
SSLの仕組みは、実はこれだけです。
宝箱を開ける鍵をクライアントさんとサーバさんで1本ずつ持って、情報は宝箱に入れてやり取りします。
ただし、宝箱を開ける鍵は、かなり大事ですよね。
宝箱を開ける鍵自体を盗まれてしまったり、怪しい人に渡しちゃったら大変です。
そこで、宝箱を開ける鍵をしかるべき相手(やり取りするサーバさん)にきちんと渡すために、あれやこれやとやっているのです。
これが、よく分からない人向けの説明です。
以上で説明は終わr……あっ、そうそう。
大事なことを忘れていました。
「TLS」について補足しておきます。
SSLは最初「SSL 1.0」でした。
あれやこれやがあって「SSL 2.0」になりました。
バージョンアップしたわけです。
さらに、あれやこれやがあって「SSL 3.0」になりました。
さらに、あれやこれやがあって「SSL 4.0」……と見せかけて「TLS 1.0」になりました。
この時点でSSLの歴史は終了です。
SSLは「SSL 3.0」で滅びました。
以降、その役割はTLSに受け継がれています。
実際には少し違いますが、イメージはそんな感じです。
今の時代に「SSL」と言ったら実際には「TLS」を指しているはずです。
とはいえ「TLS」と言われても、あまり馴染みがありませんよね。
当時の人も同じように考えたのでしょう。
実際には「TLS」ですが「SSL」もしくは「SSL/TLS」と表現されることが多いです。
「自分は専門家じゃないよ」な人は「TLS」とか「SSL/TLS」とか出てきたら「SSL」と読み替えてOKです。
専門家な人は、一応、SSLとTLSを区別して覚えておいてください。
一言でまとめるよ
まぁ「SSL」って単語が出てきたら「インターネット上の通信を暗号化する仕組みなんだな~」と お考えください。
おまけ
■訳してみるよ
「SSL」は「Secure Sockets Layer(セキュア・ソケッツ・レイヤー)」の略です。
「secure(セキュア)」の意味は「安全な」とかです。
「socket(ソケット)」の意味は「受け口」とか「穴」とか「(電球の)ソケット」とかです。
「layer(レイヤ)」の意味は「層」とかです。
何となく くっつけると
安全な受け口層
となります。
■違いの分かるピヨピヨ
■検索してみる?






