◆ 全サーバトリップ統一作戦
■ このスレッドは過去ログ倉庫に格納されています
現在三つに分かれているトリップの仕様を統一しようという作戦
>>2-5辺りも読んでください。 >>71
あ、もしかして、、、
実験はこちらで行っています m(_ _)m
新式トリップ回路のテストページ
http://baila6.jp/sv2ch/tripper/ トリップマニヤだ。
一般人、逸般人、マニヤ、管理サイドみなを完全に満たすような
仕様って作りようがないので、どこか落としどころをつくらないと
いけなくて、これはこれで苦慮している。
トリップのスキームをいじるのは単純だけど難しい。
完全に旧鯖仕様に準拠してしまうと、新鯖特定板オンリー住人が
かわいそうだ。
# の次の文字に特別な意味を持たせる方式(わたしが提案して
未承諾さんが実装してくれたもの)では、トリッパなどで先頭が
該当文字が出てしまったものを使ってたときにきっと面食らうだろう。
トリップ用エスケイプ文字に # 以外のものを導入すると、
その記号をコテハンに使ってたユーザさんが思いっきり面食らうだろう。
(事実、わたしが2chに出入りし始めた時点で、# をコテハンに含ませて
いたらある日いきなり変換されだして面食らった)
というわけで、まずトリップキーに使用されることのない文字
" & < とかを使用するというのは、どうだろうか?
例)
生salt 指定 #>ABxxxxxxxx
生キー #&XXYYYYYYYYYYYYYYYY
ところでMD5トリップをサポートする必要、あるだろうか?? (w 補足。
なぜ、Salt変換ロジックを旧鯖仕様にすることにこだわっているかというと、
単に、新鯖仕様Salt変換をわざわざそのために実装してもらいたくないからです。
生キー指定も、3桁の16進とか4桁の8進でしていするよりもむしろ、
旧鯖仕様2文字で指定してもらう方がよかったりするかもしれない。
トリップが化ける人用に、対策変換CGI, Flashを、新鯖だった板の
ヘッドラインに貼ってもらうようにすれば、少しは混乱が緩和するかなと。
以下、晩酌でヘロヘロになった頭で書いた模式。
if (/^&(..)([0-9A-F]+)/i)
{
$salt = $1; $key = $2 =~ s/(..)/pack('H2',$1)/eg;
}
elsif (m!^<(..)(.+)!i)
{
$salt = $1, $key = $2;
# もし、この型式で新鯖仕様Saltを使いたい場合は、変換をココに入れよ。
}
else
{
$key = $_, ($salt) = /^.(.*)/;
}
# MD5トリップを活かしたい場合は以下を再吟味せよ
$salt =~ s/[^.-z]/./g;
$salt =~ tr/\x3A-\x40\x5B-\x60/\x41-\x47\x61-\x66/;
$trip = crypt($key, $salt.'H.'); ちなみにたぶん、トリップ変換に来るまでに、
トリップキー部分の " & < > などは " & < > などに
置き換えられているだろう。 連続カキコのわっ
× " & < > などに
○ &quot; &amp; &lt; &gt; (&は半角) などに >>鳥屋様
sageなのにageるsageですか?
なぜ? ( ・3・)つ " & < > #<option>key
という書式でも良さそうですね。
&< と &> で囲まれた 1 文字の option で判別するとか。
→書式不備の場合はそのまま &< を垂れ流すか、代替で 'H.' にするとか。
このあたりも煮詰めた方が良さそうですね。
♪トリップ史には疎いので申し訳ないけれども、
個人的には今までのトリップ回路では不備だらけなので、
新しい形式のがあった方がよいかと思うです。 こんなことをして遊べる余地があるというのも、楽しいかも。 #$HHHhhhhhhhhhhhhhhhのHとhに何を入れてよいかが分からぬ(;´д`) #>ABxxxxxxxx
#<ABhhhhhhhhhhhhhhhh
にて実装してみました。ついでにMD5トリップも通るようにしてみました。
http://users72.psychedance.com/test/read.cgi/2chdown/1065795263/190
ついでに、トリップ変換テストもつくってみました。
http://users72.psychedance.com/test/trip.cgi
今回のソースはこんな感じ。
$key = $1;
($key =~ /^<(..)([0-9A-F]{16})/i ? ($key = pack('H16', $2))
: $key =~ /^>(..)(.+)$/i ? ($key = $2)
: ($key.'H.') =~ /^.(..+)/);
$salt = $1;
$salt =~ tr/\x3A-\x40\x5B-\x60\x00-\x2D\x7B-\xFF/A-Ga-f./ unless $salt =~ /^\$\d/;
$FLAG{'trip'} = substr(crypt($key, $salt),-10); そのトリップ変換テストでは、やっぱり新鯖で化ける旧鯖トリップは新鯖で使えないままみたいだけど・・・
そういうことが無い様にはできないの? >>103
そいつぁ不可能です。
なので、せめて、新鯖専用トリップを表示できるような仕様を盛り込もうと。 >>101
0123456789ABCDEFabcdef
のうちのいずれかの組合せです。(いわゆる 16 進数)
>>102
当方も、その仕様に合わせてみます。
>>103
./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
の 64 種類のうちのいずれかの 2 文字の組合せで「塩」の代替できれば可能なのですが。
、、、その可能性は低いかもです(泪)
こうなるとシミュレートするよりも新旧各鯖にトリップ生成ルーチンを仕掛けておき、その返り値をもらう方が良さそうですね(苦笑) 何もわかっちゃいない香具師等がウンチく垂れてるスレはここでつか? http://baila6.jp/sv2ch/tripper/
新鯖変換機構(w を取り付けてみました。
全ての新鯖トリップ化けに対応できているのかは判りませんが、いろいろと試していただけるとありがたいかとm(_ _)m
>>107
ぎくっ(汗) ちなみに>>102のロジックでは、
無効な拡張キー($9 とか)喰わせたら、たぶんFreeBSDでは
出力が空白になったり : だけになったりします。
2文字目が $
3文字目が数字 のときに起こり得ます。
なので、トリップをくっつけるときに、10文字の出力が得られていない
場合に細工を施すか、いっそのこと MD5 トリップを(Blowfishも?)禁止
してしまう方がいいかと。せっかく発見したのにナニですが意見求む。
(unless〜 を削れば、MD5トリップは無効になる)
MD5トリップ
(長所)キーを思いっきり長くできる。Saltも柔軟に指定できる。
(長所)DESトリップでは出ない、末尾 / 0 1 が出せる。
(短所)DESトリップより十数倍重い。
Blowfishトリップ(現在どの鯖でも試せないもよう)
(長所)勉強不足なのでよくわかってない。
(長所)末尾に . 0 2 4 6 8 ... w y の32文字が出せる。
(短所)新々鯖でしか出せない。
(短所)MD5トリップよりも指定が難しそうだ。
(短所)MD5トリップよりもさらに重い(教科書の知識)。 MD5トリップは無くてもいいんじゃないかな…。
どうせ使えなくするなら早い方が被害が少なくてすみそうだし。 >>109
サーバの負荷を増やすようなのは、避けたほうがいいでしょう。
管理人さんがいい顔しないと思いますよ。 旧鯖でMD5トリップが使えるというのは私の思いこみだった。
というのは置いといて。
>>110
じっさいのところホンキでMD5トリップ空間でトリップ探しを
やるような漢はいなかろう。ただでさえクソ重いのに。
このタイミングなら、禁止しても文句は出るまい。
>>111
新鯖と互換性を取るために盛り込んだ仕様ですが、
問題点はいっぱいありそうなので、この仕様は廃止に
してしまったほうがよさそうですね。
他の方のご意見を伺いたかったのです。 >>108
1.#?&$????? → 新鯖対応キー"#>sa"
(?は任意の文字)
2.#?$&????? → 新鯖対応キー"#>qs"
1の場合、新鯖でのテスト結果と違ったトリップが表示されます。 >>106 お前は有害だから発言ヤメロ
>>107 未承諾、鳥屋、故人、はりねずみ、、、
>>109 理解できてないことを書くな
>>110 厨房は黙れ
>>111 故人を継いでる暇があったら墓へ帰れリア厨
>>112 いい加減な憶測で蘊蓄垂れるのはヤメロ
>>113 &はスルーしている板と禁止してる板があるだろ?
お前ら役立たずだから俺が完璧な答えを出してやるよ、、、
烏合の衆うぜーよ >>113
踏む踏む。。。
#""""""""
なんてのも化けますね。 ・マニアじゃなくても使えて、
・クラックされにくくて、
・どのサーバでも同じように動作する
そんなトリップがいいなぁ。 >>112
私、かなり本気で探してますが・・・・・ >>135
>>112でクソ重いって言ってるから諦めた方がいいんじゃない?
まぁ、どのくらい重いのかは分からんけど >>136
重さ=クラックされにくさ
重いことはトリップの本来の使われ方的に良いことだと思うのですが。
もしも、>>112の「重い」の意味が、
「重くて思い通りのトリップが探せない」ではなく、
「サーバーに負担がかかる」なら諦めますが・・・・ >>135-137
わたしの文脈では「探索のコストが高いので重い」なのですが、
>>109でも書いたとおり、サーバ側の処理も無視し得ないものだと愚考します。
実際の所は、リモホ->ID生成でも使ってた記憶なので、
「使っちゃいけない」ってほどでもないでしょうが、
1箇所で実装されてるからといってもう1箇所で使っていいかと
いえばいかがなものか? という問題があります。
MD5トリップは、今回たまたま出すことができましたが、
もともと使える鯖が限られてましたし、あまりにも普及が遅れすぎたゆえ
もうサポートする必要はないかな? とか考えています。
(サポートしたくない一番の理由は、エラーハンドリングのためだったり
します。ご存知の通り、FreeBSDの拡張Cipherでは、
想定仕様外のスキームを渡されるとエラー扱いにしてしまうので
例の ◆ だけ問題が発生し得ます。これを回避するためには、
トリップ生成部以外にも手を加えてもらわなければなりません)
ケツに 0 1 が出せるのはわたしも好きなんですがねぇー >>134
理想は、利用者さん誰もが、変更されたことに気づかないほどの
仕様変更だったりするのですが、それはムチャな話なので、
何が要求されているのかをこちらでもある程度想定する必要があります。
わたしは、旧鯖トリップユーザさんに重きを置きました。
> マニアじゃなくても使えて、
・旧鯖トリップを使用していたユーザさんのほとんどに、拡張仕様を意識させない。
・新鯖トリップを使用していたユーザさんには、わたしが書いてみせたような
トリップ変換CGIなどを提供して、新仕様にて同じ出力が得られるようにしてあげる。
さもなくば、あきらめて新しいトリップを名乗ってもらう。
・マニア仕様は、カスタムトリッパーのような、人間が入力し得ないキーで
探索をする人向けのものです。この仕様が存在するが故に
事情を知らないふつーの人がつまずいて悩むようだったら、
拡張仕様としては失敗であると言わざるを得ません。
というわけで、#の次にほとんど来ないであろう < > とかの記号を
使うことを提唱してみました。
実はSalt指定・16進指定は、いずれも文脈で判別できるので、
エスケープ記号は1種類だけでよかったりします。
(つづく) >>134
(つづき)
・クラックされにくくて、
キー解読にしろ、詐称にしろ、これらの難易度はキー空間の広さと
出力ハッシュの長さにより変わります。キー空間は現状で56ビット
ほど、出力の空間は58ビットほどありますが、これを探索し尽くすには
現時点においてもあまりにもコストがかかりすぎる程度です。
キー解読に関しては、ふつうに #なんてろ のように文字を入れている
ユーザさんのトリップが対象であれば、難易度はそれほど高くないというのは、
以前から言われていることです。経験的に、以下のことが言えます。
* ランダム風なトリップは、所有者にとって意味のある文字列でキーが構成されてることが多い
* いわゆるキレイなトリップのキーは、人間にとって覚えにくいし、機械的に
攻撃するのにも向いていない(攻撃の方法はあります)。
もし、「使用する文字は英数字のみ」とかに限ってしまうと、むしろ
全角半角の区別が付かない人を余計に混乱させてしまいますし、
なによりも *格段にクラックが楽になります*
というわけで、強度に関するわたし的な結論では
「深く考えても仕方がないよー」です。
(つづくぞ) >>134
(つづき)
>どのサーバでも同じように動作する
>そんなトリップがいいなぁ。
これはむしろ、わたしが個人的に2ch運営側に希望していたことです。
トリップロジックがサーバ構成に依存していたことについ最近まで
気づいてなかったというのもあるのですが…
uma鯖でリプレイスする以外にも、今回のロジックを現行鯖に移植
していくことを念頭に、想定仕様外の振る舞いをなるべく避けられるように
留意してみました。
MD5対応は可搬性が低くなるようなので、ばっさり削るのもアリです。
>>102 の、
$salt =~ tr/(中略)/A-Ga-f./ unless $salt =~ /^\$\d/;
これを
$salt =~ tr/(中略)/A-Ga-f./;
に変更するだけです。
長文失礼。
以上を1行で説明するほどのスキルを持ってないしな。
さて寝るか。 寝るんじゃなかったのか俺。
>>116
詳しく調べてないんでアレですが、
bbs.cgi でエスケープしている文字は
< → <
> → >
くらいで、" はスルー、
& はスルーもしくは& のみ取り除いている
(SETTING.TXTによる?)ような感じがしてます。
いっそのこと、bbs.cgi の他の箇所に手を入れてもらい、エスケープを行う前に
トリップキーを取り出してもらえるようにしてもらった方がいいかしら? >>142
まずは体が大事
寝ろ むさぼるように
乙です <>以外の記号を使えばよいのでは・・・。
PCや携帯電話からの入力がしやすくて、キーにあまり使われなく、
違いが一目でわかる見やすい記号・・・。 スロ板住人です。
やっぱりスロ板も化けてたんですね。
前と同じ鳥を使うってのは不可能なのでしょうか?
とりあえず今はまた鳥探し中です >>144
いちばん使われなさそうな文字で、入力が容易なものとして
< > を挙げてみました。
現在流通しているトリップ検索ツールは、たいていの記号を
キーに使おうとします。ただしその中でも、 < > に関しては
避けられている関係もあり、実質、キーにはまず使われない
文字列であるということができます。
ふつーの人が何も考えずに < などを使ってた場合、
トリップを算出する段階で < と見なされます。
この場合は、新仕様案においてはSalt指定のトリップを
使ってもらわなければなりません。
< > を特殊文字に使った場合の弊害はこれだけです。
全角文字をトリップキーに使用している場合には、 < > が
キー中に現れることはありません。
PCはともかく、ケータイから入力ということであれば、
クリップボード(うちの端末では定型文?)に登録しておく
という使い方をしてもらうことになるでしょう。 sub getTrip{
my($_pass) = @_;
my($_salt) = substr($_pass.'H.',1,2);
$_salt =~ s/[^\.-z]/\./go;
$_salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
return substr(crypt($_pass,$_salt),-10);
}
これでいいじゃん。
なに駄々こねてるの? 出せない(出ない)トリップが減ると嬉しいんですけどねー ttp://qb3.2ch.net/test/read.cgi/operate/1053067870/860
ごぞんじのかたいますかー? >>153
おそらくここのログを落して読んでおられるはず(w >>154 それもそうすね。漏れはあらかじめ予防してたので
実例って知らなかったりw 2ch検索のからみかしら。。。。
したらばはまた別の化け方するみたいなんだけど。 それで、新サーバでもトリップが同じように出せるのは、いつ頃になるのでしょうか? どおやらさんの事だからまったくもって新しい回路を投入する悪寒。。。 新サーバで、旧サーバと同じトリップを出すには
どうしたらいいのかってのがわかれば解決と思ってるおいらは、
理解できてない人ですか?
新サーバで、旧サーバと同じトリップがどうしても出ない場合があるので、
それが問題になっているのでは、と思っていたんだが、、 回せ回せトリッパーてことか。
6〜8完の人は泣くだろうなぁ… >>159
はじめまして。
まず確認ですが、現在問題のuma鯖の他にも、
トリップの仕様が2種類あります。
これらは、トリップ的には「旧鯖」「新鯖」と呼ばれてます。
oyster鯖は、新鯖に類されるものと思われ。
>>162の言うように、どうしても両方で出せないトリップが存在します。
有名なものだと #kami とか #ぶるじょ とか。
旧鯖に仕様を合わせてしまえば、じゅうぶんに広まってしまった
新鯖の住人の一部が困るだろう、かといって新鯖に合わせてしまうのは
旧鯖に合わせるよりももっと無意味だろうと考えます。
一連のカキコでわたしが提案している仕様(>>102 >>141)は
・ほとんどの旧鯖住人は、従来と同じキーでトリップが出せる
・一部の新鯖住人は、ちょっとした変換で元のトリップを再現できる
・ごく一部のトリップマニヤは、ログの中で眠ってた、手入力では出せない
トリップを出すことができるようになる。
・それでもトリップの開始文字は # のまま。
というものです。
なるべくたくさんの人々が幸せになれますよーに。
転んでも泣かないけどさ… if($FORM{'FROM'} =~ /([^\#]*)\#(.+)/){
my $main_message = $1;
my $handle_pass = $2;
my $change_salt = substr($handle_pass, , 1) . "H";
$handle_pass = substr(crypt($handle_pass, $change_salt), -10);
}
こんななんですが、、、 >>165
そのソースに1行加えることによって旧鯖仕様に合わせるならば、
$change_salt =~ tr/\x3A-\x40\x5B-\x60\x00-\x2D\x7B-\xFF/A-Ga-f./;
を加えるだけでイケるのですが、さてここで宿題です。
たとえば #ぶるじょ というトリップキーに対して、
◆yBEncckFOU が出てくれるようになると喜ぶ人たちがたくさん
いると思われますが(喜ばない人のことは置いておく)、
いわゆる新鯖トリップ ◆ySd1dMH5Gk が出てくれないと困る! と
主張する人がいたら、彼らには泣いてもらいますか?
>>102 の改造では、#>aIぶるじょ で ◆ySd1dMH5Gk が出せるようになります。
テストはこのへんで。
http://users72.psychedance.com/2chdown/ ■ このスレッドは過去ログ倉庫に格納されています