SSL(安全な通信経路)

SSL(Secure Socket Layer)は、 公開鍵暗号方式と共通鍵暗号方式を組み合わせたセキュリティプロトコルで、 次のような特徴があります。

Wyvern では、OpenSSL を利用して SSL で暗号化された通信に対応しています。 ただし、クライアント認証には未対応です。コード自体が実装されていません。 SSL対応 Wyvern を作成するには、 コンパイル時に --with-ssl オプションを付けて configure コマンドを実行し、インストールしてください。

このとき、 次に示すように自動的にサーバ秘密鍵と自己署名付き証明書の作成を行います (入力の例を強調文字で示します)。 また、DH鍵も自動的に作成します。 デフォルトの設定では、サーバ秘密鍵は "/usr/local/wyvern/ssl/wyvern.key" に、 自己署名証明書は "/usr/local/wyvern/ssl/wyvern.crt" にインストールされます。


/usr/local/bin/gmake selfcert
/usr/bin/openssl genrsa -des3 -rand /dev/randam -out /usr/local/wyvern/ssl/private.key 1024
0 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
..................++++++
.....................++++++
e is 65537 (0x10001)
Enter PEM pass phrase:[Secret Pass Phrase]
Verifying password - Enter PEM pass phrase:[Secret Pass Phrase]
/usr/bin/openssl rsa -in /usr/local/wyvern/ssl/private.key -out /usr/local/wyvern/ssl/wyvern.key
read RSA key
Enter PEM pass phrase:[Secret Pass Phrase]
writing RSA key
/usr/bin/openssl req -config ssl.cnf -new -key /usr/local/wyvern/ssl/private.key -x509 -days 90 \
-out /usr/local/wyvern/ssl/wyvern.crt
Using configuration from ssl.cnf
Enter PEM pass phrase:[Secret Pass Phrase]
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [JP]:[Enter-Key]
State or Province Name (full name) [Some-State]:Miyagi
Locality Name (eg, city) []:Sendai
Organization Name (eg, company) []:MagickWorX.COM
Organizational Unit Name (eg, section) []:SOHO
Server Name (eg, www.doggy.tld; required!) []:www.MagickWorX.COM
Email Address []:kouichi@MagickWorX.COM
/usr/local/bin/gmake gendhkeys
/usr/bin/openssl dhparam -out /usr/local/wyvern/ssl/dh_param_512.pem -2 512
Generating DH parameters, 512 bit long safe prime, generator 2
This is going to take a long time
..............................................................................+.................................................+.....+.....................++*++*++*++*++*++*
/usr/bin/openssl dhparam -out /usr/local/wyvern/ssl/dh_param_1024.pem -2 1024
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
...+.......+....................................................................................................................................+..................................................................................+..+................++*++*++*

SSL を利用して通信する場合は、"http://www.MysticWALL.COM/" を "https://www.MysticWALL.COM/" のように URL のプロトコルに https を指定します。

現時点のバージョンでは、通常の通信も SSL の通信も同じドキュメントディレクトリを参照する仕様となっています。 暗号化通信として利用するだけなら実用段階の実装です。