[an error occurred while processing this directive]

1 はじめに

このドキュメントは、SSL(Secure Sockets Layer)を T.Teranishi氏の作成したフリーソフトウェアのターミナルエミュレーター Tera Term Pro に実装した、 TTXSSLとその旧バージョンであるSSL Tera Term Proについて記述されています。

また、SSLやそれを実装するためのフリーのライブラリであるSSLeayについての 簡単な説明も用意しました。

なお、ご利用になる前に必ず、1.4 ご利用に 当たっての注意点をお読みください。


1.1 SSLとは

SSL(Secure Sockets Layer)とは米Netscape社によって 提唱されたプロトコルです。 通信の暗号化と認証をおこなうことによって、 第三者によるデータの盗用や改ざんを防ぎます。 現在、同社のNetscape Navigatorや米Microsoft社のInternet Exploreなどに 実装されていますが、HTTPプロトコルのみ対象しているのではなく、 TELNETやFTPなど他のプロトコルにも実装できます。 これは、SSLプロトコルがトランスポート層(たとえばTCPなど)と、 アプリケーション層(たとえばhttpやtelnet)の間で実装されるからです。

実際にどのようにして、SSLプロトコルが第三者からデータを守っているかを 簡単に説明します。

まず、データの暗号化によって第三者によるデータの盗聴を防ぎます。 この暗号化には共通鍵暗号方式(暗号化と復号化に共通の鍵を使う方式。 秘密鍵暗号方式、対称鍵暗号方式などとも呼ばれる) によって暗号化されます。

この共通鍵を通信を行う2者の間で共有するためには、 共通鍵を一方で生成してもう一方へ送らなければならないのですが、 この共通鍵を公開鍵暗号方式(暗号化と復号化に別々の鍵を使う方式。 非対称鍵暗号方式などとも呼ばれる)を使って暗号化して 安全にもう一方へ送ります。

つまり公開鍵暗号方式は共通鍵を安全に送るためだけに使用され、 実際の通信データの暗号化は共通鍵暗号方式を使って暗号化されるわけです。 このような方法を採用する理由は、公開鍵暗号方式は共通鍵暗号方式に 比べて暗号化と複合化の処理に時間がかかるためです。 現在では、上記のように共通鍵暗号方式と公開鍵暗号方式を組み合わせて 使用することが一般的です。

さて、これで第三者に盗聴されることなくデータを送受信できるわけです。 しかし、現在データを送受信している相手が本当に自分が通信したい相手で あるとは限りません。まったく別の人間が身元を偽って、 自分の通信したい相手に成りすましている可能性もあります。

SSLでは、自分の身元を信頼できる第三者に保証してもらう (具体的には、自分の公開鍵等の情報に署名をしてもらう) ことで認証を行います。なお、 この信頼できる第三者をCA(Certification Authority)と呼びます。
つまり、相手が自分の知っているCAに署名された情報(公開鍵など)を もっていれば、あいての身元が信用できるという考え方です。

さらに、メッセージ認証を使って、 送受信されるデータは途中で改ざんされていないかを調べられます。

なお、SSLプロトコルの現在の最新バージョンは3.0です。 こちら に仕様書があります。


1.2 SSLeayとは

SSLeayはオーストラリアのEric A.Young氏が、公開されていて利用可能な SSLプロトコルとその他の文書をもとに、スクラッチから書き上げた フリーのSSLライブラリです。UNIXやWindowsなどのプラットフォームで 利用することができます。 TTXSSLはこのライブラリを使用してSSLを実装しています。

他の多くのアプリケーションも、 このライブラリを使ってSSLを実装しています。 実際に、どのようなアプリケーションがあるかは SSLeay and SSLapps FAQを参照してください。

SSLeayの最新バージョンは0.9.0bで、 こちら から手に入りますが、 Windowsで使用する場合には、ライブラリを構築するために Microsoft Visual C++などのコンパイラが必要となります。 詳しくはSSLeayに付属のドキュメント等を参照してください。
なお、TTXSSLのアーカイブには、 実行時に必要なSSLeayのモジュールが含まれています。


1.3 TTXSSLとは

TTXSSLはT. Teranishi氏が作成した フリーソフトウェアのターミナルエミュレーター Tera Term Pro を SSLプロトコル(Version 3.0)に対応させたフリーソフトです。

Tera Term Pro はソースが公開されており、そのソースをもとに、 フリーのSSLライブラリである SSLeay を使用して、 SSLを実装しました。

オリジナルのTera Term Proがもつ機能に加えて 以下の機能を持っています。

version 0.1a1はオリジナルのソースを直接書き換えてSSLを実装しました。
version 0.1a2からは、Tera Termのadd-onモジュールインターフェースである Tera Term Extionsion Interface(TTX)を使ってSSLを実装しています。

なお、オリジナルのTera Term Pro のバイナリ及びソースは、 こちら から入手できます。


1.4 ご利用に当たっての注意点

TTXSSLはフリーソフトウェアです。 SSLの実装は、インフォサイエンス(株)が行いました。 このプログラムの使用による、いかなる損害に対しても、 インフォサイエンス(株)は責任を負いません。 また、この配布パッケージの取得及び使用による、いかなる損害に対しても、 インフォサイエンス(株)は責任を負いません。

(注)配布パッケージの中にはSSLeayのライブラリが含まれていますが、 SSLeayを手に入れたり、利用したりする際には、特許や輸出規制といった 問題に抵触する可能性があります。 これらの問題を回避するには、SSLeayのドキュメントを読んだり、 あなたの国の特許や輸出規制等について調べる必要があるかもしれません。


このページの情報に関わる、ご質問、お問い合わせは、
ssleay@infoscience.co.jp まで、よろしくお願い致します。