SKEY(1)

名称
S/key - ワンタイムパスワードシステム

書式
skey [-n count] [-p password] sequence# [/] key

解説
S/Key は、計算機システムへのアクセスの認証のために ワンタイムパスワードを用いる手続きです。これは MD4 アルゴリズムで 変換した 64 ビットの情報を用います。ユーザは 6 個の英単語の形で この 64 ビットデータを扱います。この単語は、セキュリティのしっかりした 計算機上で作ります。 S/key プログラムの skey(1) の利用例を以下に示します:

% skey 99 th91334

Enter password: <ここであなたのシークレットパスワードを入力します>

OMEN US HORN OMIT BACK AHOY

%

S/Key システムは、以下のものからなります:

skeyinit(1)
    自分の S/Key のセットアップを行う。

skey(1)
    ワンタイムパスワードを得る。

skeyinfo(1)
    S/Key データベース内の情報を展開し、次の S/Key 要求のシーケンスナンバとキーを表示する。

skeyinit(1) を実行したときに、システムにあなたのシークレットパスワードを教えておきます。 次に skey(1) を実行し、指定したシーケンスナンバとキーに対応するワンタイムパスワード (6 個の英単語からなります)を作成します。ここでもあなたの シークレットパスワードが要求されます。 しかしながら、もしここでシークレットパスワードの入力ミスをすると、 正しく動作しないワンタイムパスワードが生成され、 間違ったパスワードであると指摘はしません。 パスワードのシーケンスナンバは 99 から減っていきます。 skey(1) は大文字でワンタイムパスワードの単語を表示しますが、 あなたは小文字を使ってそのパスワードを入力することができます。

使用例
以下に S/key の NetBSD での使用例を示します。

skeyinit(1) を実行すると、NetBSD では、最初に通常の (crypt 用の) パスワードの 入力待ちになります。その後、S/Key 用のパスワードを 2 回入力す ると設定が完了します。 skeyinfo(1) を実行するとシーケンスナンバとキーが得られ、これを引数にして skey を実行すれば 6 個の英単語が表示されます。 login(1) や su(1), telnet(1) をし、Password: とプロンプトが出たところで ``s/key'' と入力するとシーケンスナンバとキーが表示され、これに対応する 6 個の英単語を入力すれば、ログインが成功します。

% skeyinit

Password:

[Updating saitoh]

Old key: phys372705

Enter secret password:

Again secret password:

ID saitoh s/key is 99 phys372706

Next login password: BASH COKE JUNE GALT LAVA GENT

% skeyinfo

98 phys372706

% skey 98 phys372706

Enter secret password: (S/Key のシークレットパスワードを入力します)

OMEN US HORN OMIT BACK AHOY

..........

login: saitoh

Password: ( ``s/key'' と入力します)

[s/key 98 phys372706]

Response: (ワンタイムパスワード(6 個の英単語)を入力します)

....................

関連項目
skeyinit(1), skeyinfo(1)