UsbAuth

English version is here.


はじめに

このシステムは高度なセキュリティおよび容易なオペレーションを両立させたワンタイムパスワード認証システムです。

認証データを入れたUSB Memoryなど記憶媒体を利用し、ユーザID、およびパスワードなしでLinuxマシンに、ログインすることができます。

ログインに成功した場合、次のloginのための他のパスワード(1024 byteの乱数)を生成し、USB Memory上のデータを更新します。

ですので、もし何者かにより、その記憶媒体が盗まれ、あるいは複写されても、その犯人が、不正にLoginする前に、あなたがLoginすれば、犯人はLoginすることが出来ません。

不幸にして、犯人が、あなたより先にLoginした場合、あなたは、正規の記憶媒体を使用しているのにかかわらず、Login出来なくなり、それによって不正にシステムに浸入されたことを知ることが出来ます。


このシステムは、GPL2もしくは、より新しいバージョンに従い、使用、複製、改造、再配布することが出来ます。


本システムのアカウントの、不正使用の検知機能について

との、評価を別サイトで見ました。しかし自己顕示欲が強いクラッカーは、侵入に成功したことを誇示するために、ファイルや、システムを改ざんしますが、情報を不正に盗もうとする「プロ」は、侵入した痕跡を極力抹消します。

を、そのシステム管理者に知られない方が、その目的にかなっているので当然です。

不正使用についての検知機能を含め、このシステムはJokeではありません (^^;

ご使用いただく方は、この点についてご安心ください。

現時点でも、通常のPassword Loginシステムより、かなり強固な認証システムである事を確信していますし、さらに、安全性を高めるために、現在も継続して開発中です。

ただし、現在行っている次期バージョンに加える改善は、現システムとの互換性を失うものになると思います。

大規模に、導入を考慮されている方は、その点ご承知おきください。


Install

Souce codeを展開し、makeするだけです。

Makefileを編集してなければ、rootになり、

sh install.sh

で、準備完了です。

デフォルトでは

実行ファイル

/usr/local/sbin/{uauth, usbauth, uauthwait}

データーベース

/usr/local/etc/usbauth

認証ディバイスのmount場所

/mnt/auth

認証ディバイスの設定

/etc/uauth.conf

という、構成になります。これでは都合が悪い場合は、Makefile, install.shを適宜修正してください。

/etc/uauth.confには、認証に使用するディバイスの名前を書きます。

usb diskやメモリーカード・リードライターは、通常SCSI deviceとしてmountされます。ですから、これらを使う場合には、

/dev/sda1

のように書きます。

最近では、あまり使わなくなりましたが、フロッピーディスクも使えます。

この場合、

/dev/fd0

のように書けばよいわけです。

ほかにも、CF, SD, Memory Stiskなどを、リードライターで接続する方法もあります。


マシン起動時に、usbauthを使うなら、

/etc/inittabを編集します。

私が編集したパッチを参考にしてください。

ソースコードのデレクトリーにそれぞれ見本があります。


ただし、これらのディバイスを繋ぎっぱなしで、bootするとうまく認識されないことがありますし、本来の使い方としても、loginしたいときに、ディバイスを刺し、認識させるのが、正しい使い方です。


Auth deviceの作成

通常の読み書きができ、取り外し可能な記憶媒体なら、大抵はこのシステムで使用できます。

このシステムを最初に使うときは、システム管理者に依頼し、Auth deviceを作成してもらいます。

usb memoryが媒体としては使いやすいと思います。なお、usb memoryはたいてい/dev/sd*のようにSCSI diskとして認識されます。

rootが媒体を接続し、

/usr/local/sbin/uauth -d dev -a username

とすれば、このユーザのための媒体を作成することが出来ます。媒体は、一人1個で、複数の人が共用することは出来ません。しかし、一人の人が複数のマシンにアカウントがある場合は、一つの媒体で、各マシンにそれぞれ登録し、利用することが出来ます。

中身を見ればすぐわかりますが、マシンのFQDNが、管理ファイル名になっているのです。


UsbAuthによるLogin

一度媒体を作ってもらえば、loginは、安全で簡単な作業になります。

Uauth Login

という、表示が出た状態で、Systemは待機しています。

Loginするには、システム管理者に作ってもらった、記憶媒体を接続し、改行するだけです。

このとき、このプロクラムは、次のloginに備えて、パスワードを変更し、user用の記憶媒体とSystemのデータを書き換えます。ですので、記憶媒体は書き込み可能な状態にしなければいけません。

もし、記憶媒体を紛失したり、盗難にあってしまったりした場合は、すぐシステム管理者に連絡してください。

/usr/local/sbin/uauth -r username

を実行すれば、そのアカウントは無効になります。

媒体を再発行するには、新規登録と同様、

/usr/local/sbin/uauth -d dev -a username

すれば、前に発行したものは無効となります。あえて一旦アカウントを無効にしてから、再発行する必要はありません。

もし、コピーされてしまった場合は、焦ることはありません。

単に犯人より先にloginすれば、パスワードは更新され、コピーしたものでloginすることは出来なくなります。

万一、loginできなければ、犯人が先にloginしてしまったことになるので、大至急、システム管理者に連絡する必要があります。


謝辞

このプログラムを書くきっかけを下さった、

Date: Tue, 26 Aug 2003 13:00:26 JST
Subject: [linux-users:100510] キーボード無しのX Window System利用方法

を投稿した、木原さんに感謝します。

このシステムで使っているusbauth scriptは、「Linuxに自動ログイン」をベースに作成しました。

GPL2での公開を快諾くださった、シノバーさん(Masaki Shinomiya <shino@pos.to>)に感謝します。

DIALOG(1)を作成した、

Savio Lam (lam836@cs.cuhk.hk) - version 0.3, "dialog"
Stuart Herbert (S.Herbert@sheffield.ac.uk) - patch for version 0.4
Pako (demarco_p@abramo.it) - version 0.9a, "cdialog",
Thomas Dickey (updates for 0.9b)

に感謝します。


Field Peas

私は、認証に使用するディバイスとして、Field Peasという、MP3ミュージック再生 + ボイスレコーダー + USBフラッシュドライブの機能を持った製品を使っています。ただ、このディバイスを認識できるのは、Linux-2.4.22以降のKernelです。

それより古いバージョンを使用している場合、バージョンアップが必要となります。

Field Peasについては、別のページで使用感などをまとめます。

⇒ Field Peasのページ


Uauth Manual

一般ユーザが利用する場合、このページの内容で十分だと思います。

しかし、システム管理者は、もう少し詳しい説明が必要と思いますので、下記ページを用意しました。

⇒ Uauth Manual


ToDo List


SourceForge.jpcopyright (c) 2003

$Id: index.html,v 1.7 2003/09/26 10:40:47 mac Exp $