From: Araki K. <ara...@us...> - 2003-06-14 09:42:56
Attachments:
diff.gz
|
荒木です:-) 5380 プロトコルを復活させるため、~/.mlterm/passwd を使った 簡易認証を実装しました。(=> see attached patch) mlterm は起動時に、ランダムな数値(といっても、今のところは srand(time()) && rand() した程度のものですが) を生成し、 ~/.mlterm/passwd(mode 0600) ファイルを作って、その数値を 書きこみます。 コンソールアプリケーションは、~/.mlterm/passwd を見て、 ESC ] 5380 ; <PASSWD> ; <KEY> BEL ^^^^^^^^ とすれば、5380 の結果が返されます。 mlterm 終了時に、~/.mlterm/passwd は削除されます。 次回起動時は、~/.mlterm/passwd に、前回とは異なるパスワー ドが設定されることになります。 なお、複数の mlterm プロセスを同時に起動した場合、二つ目の プロセスからは、最初のプロセスが作った ~/.mlterm/passwd を読んで、それをパスワードとします。 二つ目以降のプロセスは、終了時に ~/.mlterm/passwd を削除し ません。 コンソールからは、 $ printf "\x1b]5380;`cat ~/.mlterm/passwd`;encoding\x07" のようにすれば、~/.mlterm/passwd の中身を直接覗かなくても すみます(が、やっぱり面倒ですね...) このような対処で、とりあえずセキュリティ的には問題なくなる と思うのですが、御意見などよろしくお願いします。 これで問題なかろうということになれば、mlcc や w3mmlconfig を復活させたいなと思っています。 では -- Araki Ken ara...@us... |
From: Tomohiro K. <ku...@de...> - 2003-06-16 11:04:14
|
久保田です。 From: Araki Ken <ara...@us...> Subject: [Mlterm-dev-ja] ~/.mlterm/passwd Date: Sat, 14 Jun 2003 18:30:30 +0900 > 5380 プロトコルを復活させるため、~/.mlterm/passwd を使った > 簡易認証を実装しました。(=> see attached patch) ぼくのイメージだと、password というよりは challenge という感じかなあ と思うのですが(その場で生成する一度限りのものなので)、どうでしょうか? ところで、複数の mlterm を同時に走らせても OK なんでしょうか? --- 久保田智広 Tomohiro KUBOTA <ku...@de...> http://www.debian.or.jp/~kubota/ |
From: Araki K. <ara...@us...> - 2003-06-16 12:19:24
|
荒木です:-) Subject: Re: [Mlterm-dev-ja] ~/.mlterm/passwd From: Tomohiro KUBOTA <ku...@de...> Message-ID: <200...@tm...> Date: Mon, 16 Jun 2003 20:04:00 +0900 (JST) >> 5380 プロトコルを復活させるため、~/.mlterm/passwd を使った >> 簡易認証を実装しました。(=> see attached patch) > > ぼくのイメージだと、password というよりは challenge という感じかなあ > と思うのですが(その場で生成する一度限りのものなので)、どうでしょうか? では、challenge にします。 # というか、前回のパッチでは、~/.mlterm/passwd の結果がほとんど # 変化しませんね。 # マトモな乱数を生成する方法ってどんななんでしょうか...?? > ところで、複数の mlterm を同時に走らせても OK なんでしょうか? 最初に起動した mlterm しか ~/.mlterm/passwd を生成しない(あとから 起動した mlterm は、すでにある ~/.mlterm/passwd を使う)ので大丈夫 です。 では -- Araki Ken ara...@us... |
From: MINAMI <mi...@ch...> - 2003-06-16 13:20:54
|
みなみです On Mon, 16 Jun 2003 21:15:19 +0900 Araki Ken <ara...@us...> wrote: > # というか、前回のパッチでは、~/.mlterm/passwd の結果がほとんど > # 変化しませんね。 > # マトモな乱数を生成する方法ってどんななんでしょうか...?? 起動した time だと、 ps の結果などからだいたい推測できるはずなので、 種に使うのはよくないと思います。 (あれば) /dev/random からとってくるというのはどうでしょう? > > ところで、複数の mlterm を同時に走らせても OK なんでしょうか? > > 最初に起動した mlterm しか ~/.mlterm/passwd を生成しない(あとから > 起動した mlterm は、すでにある ~/.mlterm/passwd を使う)ので大丈夫 > です。 最初に起動した mlterm が終了する際に passwd は unlink されてしまうので、 それ以降は(二番目以降に起動してまだ動いている) mlterm の鍵はわからなくなって、 5380 なシーケンスは使えなくなるような。 #鍵を再生成するシーケンスを用意すればいい? |
From: <hs...@mt...> - 2003-06-17 01:38:13
|
坂本です。 > みなみです > 起動した time だと、 ps の結果などからだいたい推測できるはずなので、 > 種に使うのはよくないと思います。 > (あれば) /dev/random からとってくるというのはどうでしょう? そうですね。 (特に、強度のない場合は)不正なアクセスがあった場合には、 以降ロックするのがいいかもしれません。 # w3m の local-cookie も同様になってしまっていて、(今のところ) # 直前のmalloc+time を種にしてます。 # 基本的な強度はないのですが、GC なのでアドレスの予測が難しいのと、 # 不正なアクセスがあるとエラー表示することで、補っている感じです。 > > 最初に起動した mlterm しか ~/.mlterm/passwd を生成しない(あとから > > 起動した mlterm は、すでにある ~/.mlterm/passwd を使う)ので大丈夫 > > です。 > 最初に起動した mlterm が終了する際に passwd は unlink されてしまうので、 > それ以降は(二番目以降に起動してまだ動いている) mlterm の鍵はわからなくなって、 > 5380 なシーケンスは使えなくなるような。 ~/.mlterm/passwd$PID でハードリンクという手もある? ----------------------------------- 坂本 浩則 <hs...@mt...> http://www2u.biglobe.ne.jp/~hsaka/ |
From: Araki K. <ara...@us...> - 2003-06-21 12:21:02
Attachments:
diff.gz
|
荒木です:-) Subject: Re: [Mlterm-dev-ja] ~/.mlterm/passwd From: <hs...@mt...> Message-ID: <200...@bg...> Date: Tue, 17 Jun 2003 10:38:04 +0900 (JST) >> みなみです >> 起動した time だと、 ps の結果などからだいたい推測できるはずなので、 >> 種に使うのはよくないと思います。 >> (あれば) /dev/random からとってくるというのはどうでしょう? > > そうですね。 > (特に、強度のない場合は)不正なアクセスがあった場合には、 > 以降ロックするのがいいかもしれません。 > > # w3m の local-cookie も同様になってしまっていて、(今のところ) > # 直前のmalloc+time を種にしてます。 > # 基本的な強度はないのですが、GC なのでアドレスの予測が難しいのと、 > # 不正なアクセスがあるとエラー表示することで、補っている感じです。 GC じゃないですけど、とりあえず、malloc+time を種にするようにしてみまし た。 >> > 最初に起動した mlterm しか ~/.mlterm/passwd を生成しない(あとから >> > 起動した mlterm は、すでにある ~/.mlterm/passwd を使う)ので大丈夫 >> > です。 >> 最初に起動した mlterm が終了する際に passwd は unlink されてしまうので、 >> それ以降は(二番目以降に起動してまだ動いている) mlterm の鍵はわからなくなって、 >> 5380 なシーケンスは使えなくなるような。 うわ、あほじゃ...--; そのとおりですね _o_ mlterm を起動するたびに、新しい ~/.mlterm/challenge を作成するようにし て、すでに起動された mlterm は、~/.mlterm/challenge の中身が変わったこ とを検知して、challenge を設定しなおすようにしました。 検知のタイミングは、client から渡された challenge が、手元の challenge と異なっていた時です。(see ml_config_proto.c l.165) では -- Araki Ken ara...@us... |
From: Araki K. <ara...@us...> - 2003-06-24 13:42:15
|
荒木です:-) Subject: Re: [Mlterm-dev-ja] ~/.mlterm/passwd From: Araki Ken <ara...@us...> Message-ID: <200...@pd...> Date: Sat, 21 Jun 2003 21:16:20 +0900 > mlterm を起動するたびに、新しい ~/.mlterm/challenge を作成するようにし > て、すでに起動された mlterm は、~/.mlterm/challenge の中身が変わったこ > とを検知して、challenge を設定しなおすようにしました。 > 検知のタイミングは、client から渡された challenge が、手元の challenge > と異なっていた時です。(see ml_config_proto.c l.165) 意見がないようでしたら、とりあえず、これで commit しちゃおうと思います。 # 明日か明後日ころには... では -- Araki Ken ara...@us... |
From: MINAMI H. <mi...@mi...> - 2003-06-28 14:27:10
|
みなみです On Sat, 21 Jun 2003 21:16:20 +0900 Araki Ken <ara...@us...> wrote: > mlterm を起動するたびに、新しい ~/.mlterm/challenge を作成するようにし > て、すでに起動された mlterm は、~/.mlterm/challenge の中身が変わったこ > とを検知して、challenge を設定しなおすようにしました。 > 検知のタイミングは、client から渡された challenge が、手元の challenge > と異なっていた時です。(see ml_config_proto.c l.165) 再読み込みして challenge が存在しない場合は、失敗とするのではなく 再生成された方が便利なきがします。 実用上はプロセス間でファイルの生成/読込がかぶることはないはずなので、 こんなのでいいでしょうか。 diff -u -B -r1.1 ml_config_proto.c --- ml_config_proto.c 25 Jun 2003 14:04:31 -0000 1.1 +++ ml_config_proto.c 28 Jun 2003 14:21:45 -0000 @@ -46,7 +46,11 @@ if( ( file = fopen( path , "r")) == NULL) { - return 0 ; + ml_gen_proto_challenge() ; + if( ( file = fopen( path , "r")) == NULL) + { + return 0 ; + } } fstat( fileno( file) , &st) ; |
From: Araki K. <ara...@us...> - 2003-06-28 15:08:48
|
荒木です:-) 現在の実装で、console application 側で対処していただく 事項をまとめていませんでした _o_ 次のような感じになります。 1. ~/.mlterm/challenge ファイルが開く 2. ファイルが存在すれば、その中身を覚えておく 3. ファイルが存在しなければ、ESC ] 5379 ; gen_proto_challenge BEL で、~/.mlterm/challenge ファイルを生成してもらって、1 に戻る 4. あとは、5380 シーケンスを投げるときに、2 で覚えた challenge を 設定する 他の mlterm プロセスを起動したり、他の console application が gen_proto_challenge 要請を発行したりして、~/.mlterm/challenge が書 きかえられる場合については、考慮しなくてもいいと思います。 現在動作中のもの以外に 5380 を使う console application を起動しない 限り、mlterm 本体で ~/.mlterm/challenge を再読み込みすることはない ので、たとえ ~/.mlterm/challenge が書きかえられても、その console application を終了するまで、最初の challenge が無効になることはまず ないと思います。 では -- Araki Ken ara...@us... |
From: Araki K. <ara...@us...> - 2003-06-28 15:06:42
|
荒木です:-) Subject: Re: [Mlterm-dev-ja] ~/.mlterm/passwd From: MINAMI Hirokazu <mi...@mi...> Message-ID: <200...@mi...> Date: Sat, 28 Jun 2003 23:27:02 +0900 >> mlterm を起動するたびに、新しい ~/.mlterm/challenge を作成するようにし >> て、すでに起動された mlterm は、~/.mlterm/challenge の中身が変わったこ >> とを検知して、challenge を設定しなおすようにしました。 >> 検知のタイミングは、client から渡された challenge が、手元の challenge >> と異なっていた時です。(see ml_config_proto.c l.165) > > 再読み込みして challenge が存在しない場合は、失敗とするのではなく > 再生成された方が便利なきがします。 うーん... まず、challenge_it() の中で read_challenge() するのは、クライアント から渡された challenge が mlterm 本体で保持している challenge と異な る場合です。(従って、別プロセスの mlterm によって ~/.mlterm/challenge が再生成された可能性があると考えらえます) で、~/.mlterm/challenge ファイルが存在しない場合というのは、そもそもク ライントからchallenge を送ることができないので、一旦クライアントの責任 で mlterm にgen_proto_config を要請する必要があります。 したがって、クライアントから何らかの challenge が送られてきている場合 に、~/.mlterm/challenge ファイルが存在しないということを考慮する必要は ないと思います。 ~/.mlterm/challenge は存在しないけど、クライアント側で適当にデッチあげ た challenge を送ってきている、という可能性もありますが、そうであれば 尚更 ~/.mlterm/challenge を再生成する意味はないように思います。 ということで、やっぱりこの場合は「失敗」としておくのがいい気がしますが、 どうでしょうか? では -- Araki Ken ara...@us... |
From: MINAMI H. <mi...@mi...> - 2003-06-29 12:32:36
|
みなみです On Sat, 28 Jun 2003 23:54:11 +0900 Araki Ken <ara...@us...> wrote: > で、~/.mlterm/challenge ファイルが存在しない場合というのは、そもそもク > ライントからchallenge を送ることができないので、一旦クライアントの責任 > で mlterm にgen_proto_config を要請する必要があります。 gen_rotp_config の存在に気付いてなかったので、ないときはどうしようかと思って > ということで、やっぱりこの場合は「失敗」としておくのがいい気がしますが、 > どうでしょうか? |
From: MINAMI H. <mi...@mi...> - 2003-06-29 12:34:29
|
みなみです #送信ミスりました。すみません On Sat, 28 Jun 2003 23:54:11 +0900 Araki Ken <ara...@us...> wrote: > で、~/.mlterm/challenge ファイルが存在しない場合というのは、そもそもク > ライントからchallenge を送ることができないので、一旦クライアントの責任 > で mlterm にgen_proto_config を要請する必要があります。 gen_proto_config の存在に気付いてなかったので、 ないときはどうしようかと思ってました。 明示的に再生成させられるのなら、現状のままで十分だと思います。 |