TLS
実現するもの
盗聴できなくし、改ざんを検出し、なりすましを発見する、この3つを実現する
すること
encrypt, authentication, integrityの3つ(実現するものにそれぞれ対応)
1. 通信データを暗号化することで盗聴しても内容が分からないようにする
2. 通信データが伝送される途中で改ざんされた時にそれを検出する
3. 通信相手が正しいということを確認できる
3はTLSプロトコルそのものではなく、TLSで使用する電子証明書に含まれる公開鍵と、 電子証明書の有効性のチェックを併用することで行われます。
cloudflareの説明(英語)でも同じ。違ったら困るが。integrityはこういうところで使うのか。
1. Encryption: hides the data being transferred from third parties.
3. Authentication: ensures that the parties exchanging information are who they claim to be.
2. Integrity: verifies that the data has not been forged or tampered with.
SSL(TLS)通信をするとは?
クライアントは、crt,サーバー証明書(CAに署名されたとの情報と公開鍵)を使って、サーバー(秘密鍵を持つ)と通信する。
証明書を作るまで
-----以下が参考になった---------
第三者認証ではなく、自己での証明書だけど
証明書作成のためにやることは主に3つです。
自己認証局(CA)の構築
$ cd /etc/pki/tls/misc/
$ ./CA –newca
$ openssl ....
自己認証局によるCSRへの署名
$ openssl -ca ....
http://infoscoopjp.files.wordpress.com/2012/03/e887aae5b7b1e8aa8de8a8bce5b180e381a7e7bdb2e5908de38199e3828be4bb95e7b584e381bf2.png
csr
http://www.infraexpert.com/studygif/ssl6.gif
参考
pem: privacy enhanced mail mail規格のなごり?
key: private key. Open ssl can wrap private keys for all algorithms.
csr: certificate signing request
crt: certificate. 公開鍵が入ってる。あと、csrをCAに認証してもらってる。
自己署名証明書とは、自分自身が持つ秘密鍵によって、それに対応する公開鍵への電子署名を行った電子証明書です。このような電子証明書は、一部の例外を除き、信頼できるものだとは言えません。自分のことを自分自身で認証する、いわば「自称」の証明書であり、第三者によるお墨付きが与えられていないからです。そのため自己署名証明書には、「オレオレ証明書」という俗称が与えられています。
上記の「一部の例外」とは、公的な認証局(パブリック認証局)が自分自身を証明するために発行する「ルート証明書」です。適切な運用基準を定め、
自分用の秘密鍵で、対応する公開鍵への電子署名をしたもの。