パスワードを忘れた? アカウント作成
347699 story
セキュリティ

GPU で ZIP パスワードを高速解析 63

ストーリー by reo
マネタイズできるのは今のうち 部門より

あるAnonymous Coward 曰く、

高速電算研究所の WEB サイトによれば、ZIP ファイルにかけたパスワードを忘れてしまった人のために GPGPU で高速に解析するサービスを開始したそうだ。

YouTube に実際のパスワード解析を行う動画がアップロードされているが、680 億個のパスワード空間を探索するのに要した時間は 108 秒。動画では大文字、小文字、記号を組み合わせた 6 桁のパスワードがあっさりと割り出されている。ZIP パスワード解析といえば PIKAZIP 等のフリーソフトが有名だが、高速電算研究所によれば Intel Corei7 で PIKAZIP を動作させた場合と比較して約 100 倍のパフォーマンスを実現したとのこと。

ZIP 暗号には互換性を重視した「Traditional PKWARE Encryption」が多く使われており、最大鍵長はわずか 96 bit (12桁) 。より強度の高い AES 暗号の普及はいまだ十分とは言えない。現在機密情報をやり取りする目的で、一般に暗号化 ZIP は広く使用されていると思われ、近い将来、現実的な時間でパスワードが解読されてしまうことも起こりそうだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by sayuporn (33927) on 2011年07月25日 23時32分 (#1992094) 日記

    鍵の最大長を長くしたところで、パスワードは実際は人間が覚えられる8文字ぐらいで運用されるので、
    逆に復号に時間がかかるアルゴリズムを採用すればいいと思います。
    1KBのテキスト復号するのに10分とか。

    • これはからは、覚えることは諦めて、長いパスワードにして必ずメモするという運用に変えたほうが良いような気がします。

      親コメント
    • by Anonymous Coward

      3DESならぬ128AES (128回AESを適用、鍵はPKCS#5v2でも使ってくれ) とか?
      段数を増やすことが安全性につながるはずなのでいいと思うのだけど。

  • by iwakuralain (33086) on 2011年07月25日 15時52分 (#1991820)

    最終的には生体認証しかないな~とか思ったが、かけたら相手が開けないじゃんとかアホなことを考えてしまった・・・

    • Re:生体認証とか (スコア:2, おもしろおかしい)

      by Anonymous Coward on 2011年07月25日 18時34分 (#1991957)
      フフフフ、君には特別に僕の暗号鍵を見せてあげよう。
      親コメント
    • Re:生体認証とか (スコア:1, 参考になる)

      by Anonymous Coward on 2011年07月25日 16時58分 (#1991885)

      良くあるように、送った後別便で指を送ってあげればいいのでは。
      10回で終わりのように思えますが、新入社員や契約社員などの指を借りれば、そこそこの回数実行可能です。

      親コメント
    • 自分の生体情報を秘密鍵としてそれを元にして公開鍵を生成し、
      送信者にはその公開鍵を渡せば…

      とも思ったがそもそもZIPは共通鍵しか対応していない気が。

      親コメント
      • by Anonymous Coward
        生体情報を無断でこっそりスキャンされたら危ないね
      • by Anonymous Coward
        生体情報はrevokeする方法がないし、あったとしてもその人はもう生体認証が必要なものは一生利用できなくなるの? という問題が。
    • Re:生体認証とか (スコア:1, 参考になる)

      by Anonymous Coward on 2011年07月25日 21時30分 (#1992039)

      ていうか、生体認証は鍵運搬や鍵生成の手軽さ、完全な複製の困難である事メリットなだけで、一般的なパスワードとは性質が全く違いますよ。

      完全な複製の困難である事は十分なメリットですが、ゼラチン指のような擬体による突破を避ける為にシステムを人間などで監視する必要がありますし、鍵情報の再現性が微妙なのでシステム内に復元可能な形で鍵を格納する必要があり破壊的な解析にも耐えられません。

      生体情報がリードオンリーかつリードプロテクト無しである以上セキュリティ的に微妙です。
      システム内の比較用鍵を排除できても、擬体対策は難しいですからね・・・技術が進めば外科的に再現できる可能性が高いです。

      親コメント
  • by Anonymous Coward on 2011年07月25日 17時32分 (#1991904)

    演算器の並列台数、料金だけでなく、所在地、電話番号すら書かれていない
    謎の団体。

    ”高速電算研究所”でググると16件しかヒットしない。
    公式を除くとニュースサイト、プレスリリースサイトより/.jpの投稿のほうが速い
    謎の団体。

    whois照会ではムームードメインを代理窓口とし情報を隠す
    謎の団体。

    団体?
    「私たち」って書いてある事を素直に信じてよいのだろうか?

    1.真っ当な研究所orベンチャー企業
    2.個人の小遣い稼ぎ
    3.ジョークサイト
    4.着手金だけ振り込ませる詐欺、成功報酬つり上げる詐欺、ヘッダ抜き取りプログラムが実は…

    • by Anonymous Coward

      ググてヒットする所は結局スラドを参照してるから
      実質的に公式とスラドしか無いよ
      なんだろこれ夏休みのお小遣い稼ぎかなw

      • by Anonymous Coward
        このストーリーをタレこんだ奴は、間違いなくここの代表者だな。
  • by Anonymous Coward on 2011年07月25日 16時35分 (#1991860)
    脆弱だしバージョン毎に暗号方式が違うし。zip後gpg --symmetricで暗号化すればよし。暗号化するなら最初からrarや7zipを使うべし
    • >ZIPで暗号化するマヌケはいないだろ

      ZIPの256ビットAES暗号なら充分に堅牢だと思いますよ。

      2月に某所に投稿した暗号関連の記事を日記に再掲しました。
      http://srad.jp/~chocopa/journal/535844 [srad.jp]

      親コメント
      • とはいえ、パスワードの鍵の長さが6-8じゃあんまり意味ないでよね。

        GPUつかわなくても実時間で解析できそうだし...
        # 100倍として10800秒?

        個人的には公開鍵暗号で暗号化ならセッション鍵を使うことになるんで、
        PGP(GnuPGでも)がいいんですが、せめてファイル暗号化ツールとしてでも導入してくんないんですかねぇ...
        # 共通鍵暗号でも暗号化アルゴリズム切り替えられるしねぇ

        --
        M-FalconSky (暑いか寒い)
        親コメント
      • by Anonymous Coward on 2011年07月26日 4時45分 (#1992163)

        公開鍵暗号と共通鍵暗号の話は分けて考えましょうよ・・・
        考え方も使い方も全然違うんですし。

        楕円曲線だの素因数分解だのを使うのは公開鍵暗号の方で、これらは一方向性の計算によって相関の有る数値ペアを生成するのがキモになってます。さらに、公開鍵暗号は通常の運用ではデータ本体の暗号化には使われず、ハッシュ値や共通鍵暗号の暗号鍵を暗号化するだけです。
        相関があるのが重要なのでこれを抜かしては話になりませんし、そもそも本文の暗号化に使ってません。

        また、AESやDESは共通鍵暗号(共通鍵ブロック暗号)になりますが、これは「何かの表で置き換える方法」の延長線上にある暗号です(XORに使う1つの値が1つの換字表として機能するため)。
        共通鍵暗号のメジャーどころはストリーム暗号かブロック暗号のどちらかです。
        ストリーム暗号は暗号鍵を種にした擬似乱数で1文字ごとに換字表を再生成する暗号です。
        ブロック暗号は、ブロック単位でメッセージの一部と暗号鍵を使って生成した擬似乱数を使って多重に換字(と転置操作(転置式暗号も古典暗号の一つ))する暗号です。
        重要なのは換字表の交換手順であり、換字自体はむしろ古典的暗号よりもシンプルです。

        それはともかく、ZipでAES使ったとしてもアーカイバが対応してくれないと悲しい事になりますから、素直に最初からAESが使えるとされている7zなり何らかの暗号化専用形式を使うべきだと思います。
        もう一つ付け加えると、AESの堅牢性云々より、AESの暗号鍵生成に使うパスワードの方を気にすべきだと思います。

        # AES自体の安全性も、突破こそされていないものの有る程度は研究によって弱くなってきてるようですし、胡坐をかくのもどうかと思う

        # ACで投稿したいのでこっちでコメント

        親コメント
      • by Anonymous Coward

        AES256は安全なんだけど、Windows XP標準のzipでサポートされてないからやっぱだめー。
        Vista以降ならサポートされてるけど、まだXPのお客さん多いしー。
        どーせ新しくツール入れなきゃいけないんなら、zipにする理由あんまりないしー。

    • 企業から見積もりとか送られてくるとき、いつものように暗号化 ZIP 固められて、パスワードが別便メールで送られてくるのですが、この「パスワードが別便メールで送られてくる」っていうのはどこから広まった手法なんでしょうねえ。

      --
      Hiroki (REO) Kashiwazaki
      親コメント
      • メールサーバのアンチウィルスを通過するためのバッドノウハウです。
        親コメント
      • by Anonymous Coward on 2011年07月25日 23時06分 (#1992078)

        受信者が転送する際に意図せず添付ファイルまで送ってしまっても機密が漏れないようにするためです。

        親コメント
      • パスワードはせめて別経路でとお電話差し上げたらウザがられたでござる。

        というのはさておき、パスワードを別のメアドに送ってくる人もいて、それはそれでまだマシかもと思ったり。あくまでも比較問題だけど。

        親コメント
      • by Anonymous Coward
        現実的な時間で解析できるなら、パスワードは暗号化ZIP内のファイルに記録しておけばメール1通で済みますね。
      • by Anonymous Coward
        ホント意味ある行為だとは思えない。
        頭悪いんだと思う。

        TCP/IPの教科書を読んだばかりの素人管理者が、
        パケットはインターネットでは毎回違う経路を通ると勘違いして
        社内ルールを決めてるんでしょうね。

        確かに入門書を見るとそれっぽい説明はするけどさ。
        • by Anonymous Coward

          >TCP/IPの教科書を読んだばかりの素人管理者が、
          >パケットはインターネットでは毎回違う経路を通ると勘違いして
          >社内ルールを決めてるんでしょうね。

          言いたいことはわからいでもないが、ルーティングは今回無関係では?
          社内の転送厨(≒管理職)が中身見ずにほいほい協力会社なんかに転送して、
          あとから「それ転送したらやばいだろ」と上司から怒られ、
          それを情シスのせいにしたたことが発端ぽい気がする。

        • by Anonymous Coward

          元コメは、管理者がパスワードを別便メールで送るという社内ルールを作っているのではなく、利用者が勝手にそうした運用を編み出しただけと読めましたけど。

          管理者が推奨してるところってあるのかしら?

          • ・生データのメール添付禁止。
            ・添付する場合は、暗号化ソフトで暗号化したファイルを添付。
            ・先方で暗号化されたファイルを開けない場合はパス付ZIP圧縮をする。
            ・ただしパスは別送。

            と規定すると、管理者曰く
            「面倒くさいから、添付有メールが減るんです。
            データの出ていく量を減らせるんです。」

            # ITって仕事を効率化してくれるんじゃなかったっけー(棒)
            親コメント
    • by Anonymous Coward on 2011年07月25日 19時26分 (#1991989)

       dodonqaです。

       会社の規約で、外部へのメールは、必ず暗号化しろと決まっています。

       復号できないとクレームが多いので、Windows付属のzipパスワードが標準です。

       HDD暗号化ソフトの付加機能でファイル暗号化も可能ですが、相手先に同一のソフトがないと復号できないor自己展開式になり、ハッシュキーも付けずにアイコンだけで実行ファイルの安全性を確認して自己展開させる(様なクセを付ける)位ならzipの方がマシと判断しています。

      --
       以上、駄文でした。 dodonqa Projects (no active)

      親コメント
  • by Anonymous Coward on 2011年07月25日 18時29分 (#1991954)
    • by Anonymous Coward
      商売にしようと思うと市販のソフトは使えないんじゃないか?
      元のファイルを送ってもらわないといけないと思う。
      金出してパスワードを解除するなんて、よほど大事なファイルだろうけど
      PASS解析されたら中のファイルも漏洩するからな。
  • by Anonymous Coward on 2011年07月25日 16時57分 (#1991883)
    anongaです。

    これ個人事業なんでしょうかね?
  • by Anonymous Coward on 2011年07月25日 17時17分 (#1991893)
    高速電脳と見間違えたのでAC
  • by Anonymous Coward on 2011年07月25日 17時59分 (#1991933)

    680億というとだいたい 2^36。
    96bit鍵の半数が 2^95 なので、(平均すれば) ほんの 108*2^59秒 もあれば解析されてしまいます!

    # つまり 2 兆年、と。

    • by JULY (38066) on 2011年07月26日 10時03分 (#1992234)

      680億というとだいたい 2^36。

      その 680 億は、パスワードの数。

      96bit鍵の半数が 2^95 なので、(平均すれば) ほんの 108*2^59秒 もあれば解析されてしまいます!

      96 bit は実際に暗号化に使われている鍵の数。実際に暗号化処理に使われる鍵そのものは、パスワードから何らかの演算処理をして作り出されるもので、パスワードの文字列がそのまま、鍵として使われるわけではない。

      余談:
      単純なのは、パスワード文字列のハッシュ値を取得して、それを鍵として使う。ただ、zip のソースコードを眺めたら、zip オリジナルらしい処理で、パスワード文字列から鍵を生成していた。

      閑話休題。

      で、ブルートフォースで解読する場合、鍵そのもので解読しようとすると、文字通り、296 通りの鍵を試す必要があるけど、鍵の「素」になるパスワード文字列の方が、「どうせ人間のやることだ。6 文字程度で、記号文字は入ってないだろう」と割りきって解析すると、296より遥かに少ない数で解読できる。

      680 億種類のパスワードは、もし、記号を除いた英数字に限れば、log6468000000000 = 5.997... なので、約6文字。ASCII 図形文字(いわゆる英数字記号。0x21-0x7e の範囲の文字)と半角スペースの 95 文字だと、log9568000000000 = 5.477 文字。なので、もとの話ざっくりとまとめると、6 文字の英数字なら数分で解けますよ、という話になる。

      で、文字種を 95 文字をベースに考えれば、6 文字のパスワードは 956 = 735091890625 のパスワードなので、108 秒 × 735091890625 / 68000000000 = 1167 秒 = 19 分 27 秒。7 文字だったら、その 95 倍で約 30 時間。8 文字なら 4 ヶ月、9 文字なら 30 年、10 文字なら 3000 年ぐらいになる。

      Traditional PKWARE Encryption と AES で、1つのパスワードにつき解読にかかる時間がどの程度違うかは分からないけど、7-zip を使って AES 256 bit の暗号化 ZIP ファイルを作っても、パスワードが 6 文字だったら、現実的な時間で解けるのは変わらないはず。

      とりあえず、英数字、大文字小文字、記号を混ぜて 10 文字のパスワードなら、今のところは安全圏かな。もっとも、そんな 10 文字のパスワードを人間が覚えてられるかが問題だけど...。

      親コメント
  • by Anonymous Coward on 2011年07月26日 1時50分 (#1992148)

    PikaZipって1スレッドで動くプログラムなので8個起動させてフル稼働させれば
    差は縮まるのではないかな。
    あと、100倍ってことは約7bit相当でパスワード文字数にすると1文字未満なのね

typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...