ここでは、SSLの導入方法の説明をしていきます。
SSL(HTTPS)を利用すると、通信内容を暗号化することが可能です。
暗号化された通信データは、第三者が盗聴・改変する事が非常に困難で、セキュリティ的に非常に強固な物となります。
SSLでは、暗号化に使用する秘密鍵と、クライアントにサーバの素性を証明するためのサイト証明書が必要になります。
SSLには、データの暗号化に公開鍵暗号の一種であるRSAが利用されています。
(正確には、データの暗号化には共通鍵暗号が使われ、共通鍵暗号の鍵の交換にRSAが使われる)公開鍵暗号方式では、暗号化に公開鍵、復号化に秘密鍵、と2種類の鍵を利用し、公開鍵から秘密鍵は分かりませんが、秘密鍵からは公開鍵を作り出すことが出来ます。
つまり、秘密鍵があれば、暗号化された通信を自由に盗聴・改変できます。
よって、秘密鍵は絶対に外部へ漏らさないようにする必要があります。
SSLでは、通信しているサーバが本当に正しいサーバかどうかを証明するために、サイト証明書を必要とします。
サイト証明書には、RSA暗号の公開鍵が含まれています。
本来、サイト証明書は、信用されている証明機関(CA)に有料で発行してもらいます。
証明機関によるサイト証明書の発行は、かなり高価(8万円〜)ですので、個人で利用する場合は、自分で署名したサイト証明書を利用する事が出来ます。
ネットショップなどを運営する場合は、セキュリティ上、証明機関の発行したサイト証明書を利用したほうが良いでしょう。