パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

大学パスワード管理の現状」記事へのコメント

  • 簡単なパスワードを登録できた時点で、そのシステムは既に終わっています。今の Linuxや*BSDではPAMの機能 を使えば弱いパスワードは拒否されます。 対NSAレベルではありませんが:-)、辞書攻撃を含めて、素人さん相手には、ほぼ不可能なレベルになります。

    ちなみに辞書攻撃可能なパスワードだと市販PC程度のスペックの マシンでも 100ms程度 で破られます。みんなが考えているよりも簡単です。 そんなに難しくもなく、ちょっとヒントを言うと 去年のCRYPTO2001 ( CRYPTO2002 [iacr.org] ) でのランプセッションの余興に パスワード破りのデモがあったのですが、それを一般のシステムに 応用すればすぐできます。 京都大学の

    --
    すずきひろのぶ
    • Markov chainって、ふつうは正のクラスと負のクラスの両方のトレーニングデータセットでモデルを作っておいて、それをもとに実際のデータの確率を計算して、log-likelihoodを見て正負どちらかの「らしさ」を求めますよね。

      引用された関数だと、
      • どこかの小ネタに使おうと思って作った関数で、 パスワード辞書とランダムデータの2つを比べて中途半端な統計を取っていますが、きちんと理論的背景をつけれなかったので、 そのまま没 にしていました。

        Fool Proofな目的に作ったのではなく、純粋に遷移で 見ているので12345678とか%%%%%%%

        --
        すずきひろのぶ
        • ちなみにランダムな8桁の数字は結構、丈夫ですよ。
          そうなんですか? 数字ばかりのパスワードは試す人がたくさんいそうで、すぐに破られる気がするのですが。何と比較して丈夫なのでしょうか。

          パスワードを決めるときには
          • なるべく長く
          • 英大文字・英小文字・数字・記号を入れる
          • 同じ文字を何度も使わない
          • 英語・日本語などの単語になっていない
          にするようにとよく言われます。これらは守るべきです。たとえこれらの情報が破る側にヒントとして与えられたとしても、これだけでは探索空間が大きすぎて、ちょっとやそっとでは破れません、たぶん。 :-)

          「破る人間の裏をかいて」数字ばかりとか記号ばかりとか長さ3文字とかにしている人はきっといるだろうと思うのですが、それはやっぱり危険です。破る側がちょっと「普通でないもの」を試したらすぐに破られてしまいますから。
          --
          鵜呑みにしてみる?
          親コメント
          • 数字ばかりのパスワードは試す人がたくさんいそうで、すぐに破られる気がするのですが。何と比較して丈夫なのでしょうか。
            何にも比較しないで定量的に:-) ランダムな8桁数字なので 高速な辞書攻撃が使えません。 従ってブルートフォースに頼らなければいけませんが、 ランダムな8桁数字を見つけるための平均試行回数を考えればわかると思います。あとは運次第です。

            • なるべく長く / 英大文字・英小文字・数字・記号を入れる / 同じ文字を何度も使わない / 英語・日本語などの単語になっていない

            というだけでは十分ではなく パスワードクラックの辞書には載っていないこと が必要です。 フランス語、ドイツ語、イタリア語、スペイン語などの卑しい言葉で、かつ文字O(オー)を数字0(ゼロ)などに変えるありがちな方法は 上記の要件は満たしますが、辞書攻撃ではたぶんダメでしょう。 ちなみにパスワードクラックの辞書は数十万、 あっても数百万の範囲ですので、8桁ランダム数字の方が それよりは少しは期待がもてます。

            また人間が選ぶランダムな文字列でという要件を入れても、 人間の脳は乱数生成器を持っていないので:-) 人間が文字を意図的に選択するという点で弱くなる可能性があります。

            それを避けるために、たとえばmkpasswdというプログラムを使ってパスワード候補の文字列生成したり(これはGNUのmkpasswdではなくNISTの人が作ったもの)、 それがなかったら、

            % cat /dev/urandom | mimencode |head -1

            として表示される文字列から任意の長さを選ぶとか人間の恣意的な データが含まれないようにした方がいいでしょう。 あとはその人の運次第。

            --
            すずきひろのぶ
            親コメント
            • パスワードクラックの辞書には載っていないこと
              ご指摘の通りです。「英語・日本語などの単語になっていない」の中にフランス語なども入っていたり、3をEとみなすとそう読める、なども含まれていたりすると解釈してください。って、無茶ですね……言葉が足りませんでした。
              パスワードクラックの辞書は数十万、あっても数百万の範囲
              知りませんでした。「ランダムな8桁の数字だったら、サイズ 10^8 の辞書攻撃で破れるなあ」程度に考えておりました。参考になります。

              // クラックする際に参考にするという意味ではなく。 :)
              --
              鵜呑みにしてみる?
              親コメント
              • 意図的(確信犯的?)なのかそうでないなのかはわかりませんが誤解を招くような展開になっている(と思う)ので一応指摘しておきます。

                ランダムな8桁の数字によるパスワードが、辞書に載ってる単語によるパスワードより辞書攻撃に強いのはあたりまえです。ランダムなんですから。

                数字のみでも辞書に載っていたら簡単にやられます。確かに現状では数字のみの単語はあまり辞書には載っていませんが、今後加えられる可能性がないわけではありませんし、また今回のケースのように大学の学生アカウントであれば、攻撃者は当然学生IDなどの辞書化を行うでしょう。
              • ちなみに 4, 6, 8 桁の数字をユーザに入れさせると想像以上に偏ります。8桁の最初は必ず19か20ね。 40時間なぞいらん。 そして数字のみを許すと、入力が楽だからと数字ばっかにする人は多い。 気をきかせて母親の誕生日にしても総当りされたら終わりだっちゅーに > 誰かさん
              • 従って「ランダムな8桁の数字は結構、丈夫」などという誤解を招くような表現は避けるべきです。

                たしかここだけ見ると誤解されかねないかも 知れませんね。推薦するの作り方はLinuxや*BSDだと

                % cat /dev/urandom | mimencode |head -1
                で表示された文字列から任意の長さ分使う。 という形なら誤解されないと思うのですが、これでいいでしょうか?

                --
                すずきひろのぶ
                親コメント
              • 誰に聞いているのかよくわかりませんが、 いいんじゃないでしょーか
                Linux Security HOWTOにもこんな風に [linux.org]書いてありますし。
              • ぼくもどの程度時間がかかるを概算して、 10^8 通りなら1ヶ月以上かかると思ったから「安全なのか。そうなのか」と思っていたのに、もう1度計算したらたしかに40時間程度になりました。どこを間違えたのだろう……。数字を8個並べただけでは危険ですね。
                「8桁の数字は一般的な辞書攻撃の対象とはなりにくい。しかし、時と場合によっては対象となり得るし、また総当り攻撃に弱い。したがって8桁の数字のみからなるパスワードは利用するべきではない。」などという表現が妥当です。
                まったく、おっしゃる通りです。
                --
                鵜呑みにしてみる?
                親コメント

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

処理中...