パスワードを忘れた? アカウント作成
15357 story

間抜けなパスワード管理 80

ストーリー by mhatta
なかなかワイルドなやり口だ 部門より

pinbou 曰く、

本家/.の記事より。AOL.comでは最大16文字のパスワードを設定できることになっていた。ところがワシントン・ポストのSecurity Fixブログの記事によると、ユーザは確かに16文字までパスワードを入力できるものの、システム側はなんと最初の8文字しか読まないらしいことが判明したらしい。すなわち、パスワードをpassword123やpassword456と設定していても、結局パスワードとしてpasswordを使っているのと同じことになってしまうのだ。

本家のストーリーを読むと、別にAOLに限ったことではないというか、昔のSolarisちょっと前のMac OS Xなどにも似たような問題があったようだ。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • そういや (スコア:4, 参考になる)

    学校で使ってたNetBSDもそうだったような。

    DES使ってたらそうなるんだっけ?
    http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ja/securit... [redhat.com]
    • Re:そういや (スコア:3, おもしろおかしい)

      by Anonymous Coward on 2007年05月07日 16時29分 (#1153597)
      7年前、大学に入学した時の話。
      付与された学内ネットワークのパスワードを変えようと思い、
      15文字程度のものに変更したところログインできなくなった。(打ち間違いではない)

      困って管理部署に行き事情を話したところ「ハァ?なんでそんな長いパスワードにするの?」という反応。
      8文字以下にしろと言われて渋々そうしました。
      どうやら僕以外に長いパスワード使う学生はいなかったらしい。

      # その後その学校で個人情報漏洩があったのとは無関係にAC
      親コメント
    • Re:そういや (スコア:1, おもしろおかしい)

      by danmaq (33372) <infoNO@SPAMdanmaq.com> on 2007年05月07日 21時19分 (#1153764) ホームページ
      パスワード本体の8文字とタネ2文字、あわせて10文字。

      それ以上は数えられないんですよ。指が足りなくて。
      親コメント
    • Re:そういや (スコア:1, 参考になる)

      by Anonymous Coward on 2007年05月07日 22時00分 (#1153790)
      > 学校で使ってたNetBSDもそうだったような。

      旧来のDESを使ったパスワードでは、OSを問わずそうなります。
      NetBSDの場合、/etc/passwd.conf で localcipher として md5, sha1, blowfish の
      いずれかを指定すれば、そういう制限はなくなります。
      親コメント
  • by Anonymous Coward on 2007年05月07日 16時19分 (#1153590)
    http://www.linux.or.jp/JM/html/LDP_man-pages/man3/crypt.3.html [linux.or.jp]
    大抵の初心者案内などには最初の8文字しか認識されないので注意せよなどの記述があったものです。
  • by Anonymous Coward on 2007年05月07日 16時20分 (#1153591)
    DESの暗号化(ハッシュ)法との互換性のためでしょう
    って本家にもすでにそういうコメントがついてるので余計なものなんだけど

    いまどき残ってるのかどうか知らないけれど混在環境でNISがうごいていたりするとてきめんですね

    Linuxの一部ではMD5ハッシュを格納していてかなり長いパスワードまで分別してくれるけど
    MD5はMD5でコリジョンが見つかっていたりして気にする人は気にするでしょうな

    WindowsネットワークのLANMANのパスワードも最初の設計(14文字を7文字ずつDES)との互換性を保持するために長らく危険危険言われてましたが
    この話その話も 互換性をとるか 安全性をとるか というせめぎ合いがあるんでしょうな
    • by SteppingWind (2654) on 2007年05月07日 21時10分 (#1153752)
      いまどき残ってるのかどうか知らないけれど混在環境でNISがうごいていたりするとてきめんですね

      NISでMD5を使っていると, たとえそれぞれのシステム(例えばLinuxとFreeBSD)でMD5をサポートしていたとしても互換性が無いためダメなんですよね. こうなるとDESしか取るハッシュが無いという.

      今ではLDAPにpam_ldapを組み合わせることでUnix系システムの認証統合は簡単に出来ますし, sambaを経由することでWindows系の認証も一元管理できますから楽なものです.

      親コメント
    • 確か一年ほど前に、プライベートメールで利用している大手プロバイダのうち2社への接続について、接続できなくなるトラブルがありました。パスワードを9文字以上に設定していて、それ以前は問題なく認証されていましたが、突然認証エラーで接続できなくなりました。試しにパスワードの先頭8文字を入力したところ、通るようになりました。
      プロバイダ側に何か変更があったのかなぁ、程度で流していましたが、今思い返せば、プロバイダ側からは何のアナウンスもなかったと思いますし、ひょっとしてウチのメーラーの問題なのかしら。
      親コメント
    • Windows98のパスワードも14文字目までしか有効にならないけど
      > 14文字を7文字ずつDES
      やっぱりこれと関係してる?

      同じドメイン上の同じユーザーの同じパスワードなのに
      98ではOKでXP端末からでは入れなくて
      悩みまくる、と。

      #ID発行した時点でデフォルトのパスワードが16桁で設定されてたのだよ。駄目じゃん。
      親コメント
  • by Anonymous Coward on 2007年05月07日 19時07分 (#1153692)
    某社のグループウェアのパスワード管理も結構間抜けで、パスワードの長さ0文字が許されてる。
    で、パスワードを0文字、つまりパスワード設定がしてない状態だと、パスワードの入力欄に
    「abcdefg」って入力しよようが「123456」って入力しようが、何を入力してもログオン出来て
    しまう。
    • by NOBAX (21937) on 2007年05月07日 19時51分 (#1153710)
      擁護する気はないですが、
      パスワード管理が出来ないような会社もあるのですよ。
      それでもグループウェアは使いたいとなると
      パスワードは設定しないとか、全員同じパスワードにしてしまうとか
      せざるを得ないのです。
      親コメント
    • 悪用されると、世界のバランスが一変する程の
      とてつもない重要なマシンには、パスワード管理なんて不要のようです。

      『複数の物理的な鍵を、同時に回す』だけですから。

      そういえば、PHPで作られた旧サービスには、こんなのが。
      $crypted = crypt(<mailaddress>, 'pagepage');
      ttp://hogehoge.com/getmoreinfo.php?m=<mailaddress>&c=<crypted>

      ……ギャーと思いつつ、声を抑え、ひっそりと大急ぎで修正しました。

      # パスワードではないが、認証という点で考えると
      # 玄関の鍵閉めて、鍵を挿したまま出かけるようなものだな。
      --
      ==========================================
      投稿処理前プレビュー確認後書込処理検証処理前反映可否確認処理後……
      親コメント
    • by Anonymous Coward on 2007年05月08日 0時41分 (#1153947)
      昔どっかのサイトでパスワード16文字までと書いてあるのに
      9文字以上の文字をパスワードとして登録しておくと
      ログイン画面では9文字以上を登録していた場合は前8文字
      だけでないと認証に成功しない素敵サイトがあった。
      さらにパスワード変更画面では登録しておいたパスワードを
      そのまま使わないといけなかったりした
      一応おかしいんじゃないとメールしたけど無視されたので
      その会社のサービスはそれ以来まったく使っていない
      親コメント
  • 昔のSolaris? (スコア:2, 参考になる)

    by tmkzr (19129) on 2007年05月07日 17時19分 (#1153636) 日記
    おそらく編集者の誤読と思われますが、リンク先 [slashdot.org]を読めば分かるとおり、最新のSolaris 10についても全く同じ問題があります。インストール途中にrootのパスワードを登録する際に、「最初の8文字しか使われないから注意せよ」との旨表示があります。これはまあ仕様なのでしょうが。
    • Re:昔のSolaris? (スコア:3, 参考になる)

      by fumiyas (32177) on 2007年05月07日 18時47分 (#1153680) ホームページ
      デフォルトはその通りですが、設定で変更できます。 > Solaris 10 (9 は知らない)
      /etc/security/policy.conf の CRYPT_DEFAULT を参照。
      念の為。
      親コメント
    • by ogino (1668) on 2007年05月07日 20時58分 (#1153743) 日記

      昔の Solaris どころか、今時の Linux でも直面しています。

      Red Hat Enterprise Linux 3, 4 で、 chpasswd(8) [linux.or.jp] を使用するシステムは、 みな該当します。(5 では直っているのだろうか?) リンク先の man ページには、

      このコマンドは、同時に大量のアカウントを作成するような、大規模なシステム環境で用いるために作られた。
      とあるわけですが、大規模なシステムでは 8 文字で良いというのが Red Hat or Linux 流? 仕方がないので MD5 での暗号化を行って chpasswd -e に引き渡すようなスクリプトで置き換えて対処しようとしています。

      # 実は何か良い方法があるのでしょうか?

      親コメント
  • by manmos (29892) on 2007年05月08日 19時24分 (#1154347) 日記
    RADIUSで16文字を越えるパスワードをどう暗号化して送るか、よくわかっていない実装者がいるらしく、
    本来、128文字まで送ることの出来るバスワードも、短くしか送らないネットワーク機器があります。

    そんなことは、マニュアルの奥底を読まないとわからないので、普通の機材選定者では気がつきません。

  • 管理 ? (スコア:1, 興味深い)

    by Anonymous Coward on 2007年05月07日 16時11分 (#1153581)
    > 最大16文字のパスワードを設定できる
    > ユーザは確かに16文字までパスワードを入力
    > システム側はなんと最初の8文字しか読まないらしいことが判明したらしい。

    って「管理」の問題なんですか?
    認証システムの問題ではなくて?

    「最初の8文字しか読まない」というのは「最初の8文字までしか記録しない」ということ?
    まぁそうすると9文字以上のパスワードは通らなくなるので、

    やっぱ管理の問題でなくて、認証の問題かと。
    • by Anonymous Coward on 2007年05月07日 16時19分 (#1153589)
      どの方式を採用するかは管理の問題

      その方式が十分な強度を保っているかを確認するのも管理の問題
      親コメント
      • by Anonymous Coward
        > どの方式を採用するかは管理の問題
        > その方式が十分な強度を保っているかを確認するのも管理の問題

        その「管理」と「間抜けなパスワード管理」の「管理」が同じだとは思えない。

        思えるの?
    • Re:管理 ? (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2007年05月07日 16時31分 (#1153601)
      9文字以上のパスワードは、9文字目から何を入れても無視されます。
      最初の8文字も、記録されるわけではなくて、使われるだけかと。

      hogehoge123というパスワードで設定したとして、認証時に
      hogehoge456 でも認証は通るし、もちろん hogehoge でもいい。

      昔からそういうシステムはけっこうあるので、何でこれをもって
      「間抜けなパスワード管理」という話題になるのか不思議。
      DESは昔はアメリカ以外で使えなかったからかな。
      DES使ってると8文字までですよね。

      そういう事情を知らない人が、「すごい間抜けな仕様をみつけた!」
      と自分が大発見したように喜び勇んで投稿したんだろうか。
      親コメント
      • by Anonymous Coward
        >昔からそういうシステムはけっこうあるので

        ええ~!?
        本当なんですか?
        私からは非常に間抜けなバグにしか見えませんが・・・。
        新入社員に対する、テスト項目抽出の教育に使えるレベルに問題だと思います。
        • Re:管理 ? (スコア:4, すばらしい洞察)

          by Anonymous Coward on 2007年05月07日 17時03分 (#1153625)
          >> 昔からそういうシステムはけっこうあるので
          > ええ~!? 本当なんですか? 私からは非常に間抜けなバグにしか見えませんが・・・。

          たぶん話の前提が異なっているんでしょう

          AOL.comが「16文字使えると喧伝しているにもかかわらず先頭から8文字しか有効じゃない」というのは
          非常に間抜けな「状況」にまちがいありません
          (仕様書を見ていないので仕様書のミスなのか実装の際のバグなのかは判断できませんが)

          そこには論点らしい論点は残っていないということなのではないかと

          むかしからそういうシステムは結構ある という肯定的? な話題が多いのは
          なんで8文字以降が無視されるのか とか 他のOSなどで同じ状況が起きているのはなぜなのか とか
          謎っぽい原因につながる情報を提供したい人が多いってことです
          親コメント
          • by ko-ji.t (21285) on 2007年05月07日 20時54分 (#1153739)
            const.h に
            #define passwd_len 8
            ってのがあったから

            char upasswd[passwd_len+1];
            int i;
            for (i=0;i<passwd_len;i++) { [あってる?] }

            って素直に使うと8文字になってしまった
            親コメント
            • Re:謎っぽい原因その1 (スコア:1, すばらしい洞察)

              by Anonymous Coward on 2007年05月07日 21時34分 (#1153771)
              このストーリは #1153625 で完結している気がするのだが,要は認証用のハッシュを作るのに
              crypt(3) およびそれに依存する関数(スクリプト言語含む)を使ってるだけじゃないの?

              で,今回の件を「間抜けなバグ」と言っている人ほど,同じ間違いを犯しやすい.crypt(3)
              などの「古い実装」の性質を知らないから.たぶん古参の方々はそこに警鐘を鳴らしたいの
              だが,如何せん「間抜けか否か」に論点があるような流れになってしまっているのが問題.

              「16文字のうち先頭8文字しか使わない」のは,おそらく仕様とは考えられないので,
              確かに「間抜けなバグ」だろう.しかし,「間抜け」からも学ぶべきことがある.

              ってことで.
              親コメント
          • Re:管理 ? (スコア:1, すばらしい洞察)

            by 335 (4199) on 2007年05月07日 17時15分 (#1153635) 日記
            具体的に言うと
            最初の8文字が分かりやすい単語で後ろの8文字にランダムな
            文字列がついているようなパスワードでセキュアだと信じている
            ユーザが居れば、困ったことになりますね

            実装を裏側まで理解しないと使えない認証システムだ
            ということです。昔からあろうがなかろうが愚かなことです。

            実装上の単純ミスのような気がしますが。
            仕様からそうだとするとより一層うんこですね

            親コメント
            • Re:管理 ? (スコア:1, すばらしい洞察)

              by Anonymous Coward on 2007年05月07日 21時31分 (#1153769)
              > 実装を裏側まで理解しないと使えない認証システムだ
              > ということです。昔からあろうがなかろうが愚かなことです。

              PAMとか実装される前の時代のLinux/UNIXを使うならば、
              当然、実装を裏側まで理解して使うことが求められてました。

              知らなきゃ「常識だろ、勉強しろ」とユーザが怒られる時代。

              また、特にオープンソース系のOS上では、利用者を抱えてる管理者が、
              パスワードの注意メッセージ出したいと思うならば、
              password.cとか、シェルとかを自分で書き換えるぐらい
              やって当然みたいな風潮。

              そもそも、20世紀のシステム開発では、まだユーザビリティなんて
              言葉はほとんど浸透していなかった。

              ま、それ以前に、動く/動かないの問題というか、例えば
              Redhatは動かないソフト満載でも普通に出荷してましたし・・・。

              こういう話は確かに、今から見れば、愚かなことと切り捨てることも出来るかもしれませんが、
              それは、例えるなら、エアバッグも衝突安全ボディも装備していない車を作るなんて
              ありえないと、昭和の自動車開発エンジニアを愚か扱いするみたいな印象。
              親コメント
        • by chanbaba (13080) on 2007年05月07日 20時51分 (#1153734) ホームページ
          8文字しか使わないシステムがあり、その後パスワードファイルは一方行ハッシュ関数を通した値を記録するようになった。
          記録している値(ハッシュ値)からは、一方行ハッシュ関数だから元のパスはわからない。
          その後、8文字問題が指摘されるようになってきた。

          パスワードファイルで、IDとパスの他に旧実装か新実装のどちらのハッシュ値かも記録し、パスを平分で送って貰えば旧実装のハッシュ値を新実装のハッシュ値に入れ替える事が可能だけど、平分では送らずにパスだけではなく日付データとか他のも入れて生成したハッシュ値を送るようなシステムが無いとは限らないので、それとの互換性でパスワード生成の一方行ハッシュ関数は古いシステムを切り捨てないことには変えられない。

          互換性のために、デフォは出来るだけ旧システムを引っ張り続ける傾向がある。

          システム的な問題ではなく、どれを選択するかの管理の問題の気もするけどな。OSのユーザー認証システムで選択出来ないから使い続けた訳ではないはず。
          親コメント
    • Re:管理 ? (スコア:0, フレームのもと)

      by Anonymous Coward
      >やっぱ管理の問題でなくて、認証の問題かと。

      どうでもいいよ、そんな違いの話は。
      • by Anonymous Coward
        > >やっぱ管理の問題でなくて、認証の問題かと。
        > どうでもいいよ、そんな違いの話は。

        パスワードの管理の問題

        パスワード認証システムの問題
        は、
        大きく違うモノで、どうでもいいものではないと思いますよ。

        まぁあなたにはどうでもいいんでしょうけども。どうでもいいなら書かないほうがいいと思いますよ。
        • Re:管理 ? (スコア:0, すばらしい洞察)

          by Anonymous Coward
          パスワード認証システムの管理の問題、というセンも
  • 某銀行 (スコア:1, 興味深い)

    by Anonymous Coward on 2007年05月07日 21時11分 (#1153754)
    某銀行もPCのブラウザからのログインのパスワードと
    携帯からログインした場合のパスワードの文字数が違います
    携帯の場合は4文字までで、
    例えば、私の場合の yamamoto ってパスワードなら yama でログイン可能です
  • タイトルの頭に「アホで」がついてないと落ち着かないのは多分なにかの病気だろう。
    --
    妖精哲学の三信
    「だらしねぇ」という戒めの心、「歪みねぇ」という賛美の心、「仕方ない」という許容の心
  • by Anonymous Coward on 2007年05月07日 16時29分 (#1153598)
    ずっと20文字で、今も20文字なんだけど、現行システムで変更できるパスワードは19文字以内。
    なぜなんでしょうね?
    「まあ19文字もあれば十分だろ」ってことでしょうか。
    • off-by-one errorでしょうか。Cでかかれているとは思えませんけど。
      ファイル名の最大文字数とかも、PATH_MAXとか、MAX_PATHですが、これに\0が入るのかどうかという議論はいつも見かけるけど、僕も答えを知らない・・・。セキュリティホールになってしまうんですけどねぇ。
      • by Anonymous Coward on 2007年05月07日 21時04分 (#1153745)
        実装の問題というよりも,注釈として書かれているのが ログインパスワードは「6-20 文字」
        なのに,パスワードを変更するときは「6-19 文字」となっているのが謎ってことじゃない
        でしょうか.

        PATH_MAX は POSIX では nul を含む文字数と定義されているようです.
        親コメント
typodupeerror

犯人はmoriwaka -- Anonymous Coward

読み込み中...