rigs には OPIE (One-Time Password In Everything) という One-Time Password システムを導入してあります。 One-Time Password は、文字通り「一度しか使えないパスワード」です。
では、通常の UNIX password を用いる場合とどう違うのでしょうか。 以下では、telnet で login する際の違いを例に取って説明します。
通常の UNIX password を用いる場合は次のようになります。 UNIX から UNIX に telnet 接続するとします。
local% telnet telnet>
telnet> open remote Connected to remote.st.ryukoku.ac.jp. Escape character is '^]'. GEGEBO-OS Release 1.1 (remote) login:
login: kjm Password:
Password: Last login: Wed Nov 20 20:13:06 from local.st.ryukoku.ac.jp remote%
パスワードは表示されないし、誰にも教えていないし、 簡単には推測できない文字列を使っているとします。何が問題なのでしょうか?
実は、あなたがパスワードを入力した事自体が問題なのです。 あなたが入力したパスワードはネットワークを経由して接続先計算機に到達します。 つまり、ネットワーク上を流れます。 暗号化されていないパスワード文字列がネットワーク上を流れてしまうのが問題なのです。
もし誰かがネットワークを盗聴していれば、 ネットワーク上を流れたパスワードを盗み取り、 そのパスワードを使ってあなたになりすますことができます。 盗聴が大変困難であればまだ救いがあるのですが、 困ったことに、少々の知識があれば比較的簡単に盗聴できてしまうのです。 これが「再使用攻撃」と呼ばれる攻撃方法です。
再使用攻撃に対抗するには以下の方法があります:
パスワードを流さないとなると、 パスワードの変わりになるものが必要となります。 例えば指紋、声紋、網膜パターンなどで代用することが考えられます。 しかし、 接続先計算機が遠くはなれた場所にあるとなると、 これらはほとんど使用不可能です。
この方法の問題点は、 接続元、接続先の両方に暗号化機能を実装する必要がある点です。 さらに、高度な暗号化機能を実装しなければ意味がありません。 各プラットホーム (MS Windows, Macintosh, UNIX, ...) 共通にそのような高度なソフトウェアをそろえるのは、 残念ながら難しいのが実情です。
これを実現するのが One-Time Password システムです。
では、One-Time Password を使って telnet 接続してみましょう。 以下の説明では、UNIX/X Window 上に xterm, kterm などの仮想端末ソフトウェアをあらかじめ 2 つ起動してある状態を想定しています。
Macintosh や MS Windows 3.1/95/NT からの接続については別項にて解説しています。
local% telnet telnet>
telnet> open rigs.st.ryukoku.ac.jp Connected to starbow.st.ryukoku.ac.jp. Escape character is '^]'. Ryukoku University Internet Gateway (starbow) login:
otp-md5 は計算アルゴリズム (MD5)、497 は シーケンス番号、 st6167 は種 (seed) を示しています。login: kjm otp-md5 497 st6167 Response:
チャレンジ文字列にしたがって、接続元計算機 でレスポンス文字列を計算します。
UNIX + X Window 環境では、login: プロンプトの下に表示される チャレンジ文字列を、 もう一方の仮想端末にそのままコピー&ペーストして実行すれば ok です。
local% otp-md5 497 st6167 Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase:
otp-md5 は One-Time Password 計算プログラムの名前でもあるので、 このような使いかたができます。 この計算プログラムは、 接続元の計算機にあわせて作成/入手する必要があります。 詳細は「One-Time Password 計算プログラムのインストール」を参照してください。
Enter secret pass phrase: COCA INN MUCK LOP TEAL FINE local%
otp-md5 497 st6167 Response: COCA INN MUCK LOP TEAL FINE Last login: Mon Nov 18 18:01:38 from foo.st.ryukoku.ac.jp GEGEBO-OS Version 2.3 (KJM) #1: Mon Oct 21 17:35:22 JST 1996 rigs%