パスワード対策について

このQ&Aのポイント
  • パスワード対策についての要点をまとめました。
  • 「ハッシュ」についてのイメージがわからないとのことですが、ハッシュには重要な役割があります。
  • 最後の2文字だけを変えた同じ文字列のパスワードは危険です。他のパスワードとは別のものを使用しましょう。
回答を見る
  • ベストアンサー

パスワード対策について

以前、数十ほど持っているネット上のパスワード(推測されないランダムな英数字でした)を すべて同じにしていたためか、不正アクセスの被害にあったことがありました。 それからは、一つ一つのパスワードをすべて違うものに設定していたのですが、 これもまた 何の意味も持たないランダムな英数字だったため、今度は管理が大変でした。 そろそろ新しいパスワードに変更しようかと思い、 被害対策として、パスワード解析の手口について調べてみたところ、 どうやら「ハッシュ」というものがキーワードであるということはわかりましたが 「ハッシュ」を調べてみても、一体どんなものなのか素人にはイメージもつかないものでした。 そこでお聞きしたいのですが、 例えば l6f8o5w4ar l6f8o5w4gi l6f8o5w4qo のように、最後の2文字だけを変え、それ以外は同じ文字列を使ったものは危険でしょうか? 同じパスワードは他では使わないようにしたいので、この方法を思いつきました。 どうぞよろしくお願いいたします。

noname#203332
noname#203332

質問者が選んだベストアンサー

  • ベストアンサー
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

ハッシュというのは特殊な演算によって値を得ることを言います。 これは、2つのものが同一であるか確認するために使われる技術です。 さて、本題。 文字列の最終1文字だけを変えるパスワードというは良くあるパターンですので 一つでもパスワードが漏れたときの被害は覚悟する必要があります。 「1qaz」「2wsx」と同レベルです。 (要はセキュリティレベルが低いということね) ですので、完全に異なる文字列を使うことが推奨されます。 そんなわけで自分は次のようなモノを使って管理しています。 ■キングジム MIRUPASS  http://www.kingjim.co.jp/sp/pw10/ これなら適当な文字列でもちゃんと管理・運用ができます。

noname#203332
質問者

お礼

ハッシュについてよくわかりました。 今回考えたパスワードも危険なのですね。 管理方法を考えたいと思います。 どうもありがとうございました。

その他の回答 (1)

  • dondoko4
  • ベストアンサー率12% (1161/9671)
回答No.2

スマホやPCに入れておくのも危険なので、パスワードマネージャーを使っている。キングジム販売、見にくいのが難点。

noname#203332
質問者

お礼

パスワードマネージャーについて一度調べてみます。 ためになる情報をありがとうございました。

関連するQ&A

  • パスワードについて。

    掲示板やネットでちょっとした書き込みをする際のパスワードなんですが、どんなものを使っていますか? 1.数字だけ 2.英数字 3.ダブル可能性の高いもの  平凡な名字、よくあるパス、日付、特定のアイドル名、他 4.ダブル可能性の低いもの  特殊な名字、オリジナルなフレーズ 5.全くのランダム さらに、文字数は何文字くらいですか? また、そのパスワードは使い回しているものですか?

  • パスワードの最良な決め方について(長文)

    パスワードを最大限に複雑に決めたいとします。 当然、覚えられないので、適当な言葉で決めて、seedを付けてハッシュ関数へ入力し、出力をそのままパスワードとして使うとします。 (ハッシュ関数の出力は16進数ですが、文字数を少なくしたいので、使える文字を全て使用して、文字へ割り当てます。) seedは秘匿し、適当な言葉にあたる部分はブログ等に公開でもいいからメモっておくとします。 例えば、この質問サイト(OKWaveからログインしてます)であれば、 OKWavePassword_change#_0 といったような言葉を決めて、SNSのプロフに載っけておくとかです。 実際に使う際には、頭に(どこでもいいのですが)seedを付けて、 myseedOKWavePassword_change#_0 のようにして、ハッシュ値を取り、文字割り当てしてクリップボードへコピーして パスワード欄に貼り付けるかんじです。 ここからが質問です。 【質問1.ハッシュ関数はどれを使えば良いでしょうか?】 SHA-2シリーズはlength-extension攻撃に弱いので、HMACの形式にして使わなければならず、またその場合、Windowsのコマンドプロンプトで使える手軽な実装が見つからないのもあって(コマンドプロンプトにこだわる訳は要望があれば補足で説明したいと思います)、使用は避けたいです。 そこで、SHA-3シリーズが策定されてるようなので、この中で最大のビット数のものを選べば良いと思っていたのですが、Wikipediaを見たら、SHAKE128、同256というのがあり、読んでみると、 出力長を、任意に設定できる そうですが、だとすると、SHA-3の最大ビット数(SHA-3 512)と比べて、上述の使い方で考えると、どちらが良いでしょうか? もしくは、他により良いハッシュ関数がありますか? というのは、SHA-3 512では(というか、SHAKE以外のSHA-3では)出力長は固定なので、必要であれば(ほぼ全てのケースだと思いますが) そのパスワードで使用できる最大文字数にしなければならず、 その方法としては、文字割り当てまで終わってから、ただ単に頭から文字数分取るとか、間の文字を抜いて詰めるくらいしか思いつかないので、 それでどの程度、一様性が下がって(偏りが生じて)、危険になるかは、良く分からないのですが、 それであれば、512ビットより落ちる256ビットであるとしても、SHAKEであれば、ハッシュ値が得られた時点で過不足の少ない(0にはならないみたいですが、実装のせい?)情報量に収まっているので扱いやすいこともあり、いいかなと思っているのですが、どうでしょうか? 要するに、512ビット固定長のハッシュ値を文字割り当てしてから(16進表現の時点では難しそうなので)、頭から一定の大きさまで削った場合と、 SHAKE256で最初から過不足の少ないハッシュ値を得て文字割り当てした場合とで、どちらがよりマシかということになると思いますが…… 例えば、例としてGmailのパスワードで考えると、確か、ASCII印字文字95種フルフルで使えて最長64文字だったと思いますが、 この場合だと512ビット固定長のがマシになりそうですが…… (512ビットを95進数表現すると78文字(桁)だから、78文字の先頭から文字を取るなり、間を詰めるなりして64文字にするほうが、256ビット分(95進数で39桁)を無理に引き伸ばすより安全そうというのが理由) ↑のようなパスワードを使うことが多ければ、というか多くなくても今後10年くらいは変えたくないので(SHA-1やSHA-2の寿命から;2はまだ死んでませんが)後々の事を考えればSHA-3 512で統一しておいたほうが結局無難でしょうか。 或いは、どっちもダメということもあるのでしょうか…… そもそも、ハッシュ関数を使うという考え方自体がダメだったりするのでしょうか…… 【質問2.仮にSHAKE256を使うとすると、出力長はどうやって求めれば良いでしょうか?】 例えば、OKWaveでは、パスワードの文字条件が、 使える文字がa~z, A~Z, 0~9, -, _で、文字数が最大10文字だそうですが、 この場合、パスワードの総パターン数を16進数で表した文字数にすればいいのでしょうか。 具体的には、総パターン数は64の10乗通りで1152921504606846976個、 16進数にすると1000000000000000で16文字で合ってますか? また、多くの実装では、出力値が0起算のため、例えば今の例だと実際に取り得る値は 0~((64の10乗)-1) の範囲になるかと思いますが、つまり、 000000000000000~FFFFFFFFFFFFFFF が実際に出てくる値の最小~最大となるため、15文字で設定すれば良いということでしょうか? 【質問3.具体的な例で確認したいのですが?】 SHAKE256で15文字として、seedはなしとすると、 OKWavePassword_change#_0 のハッシュ値は 911C7E7009C307 と出ましたが合ってますか。(HashSum使用←バイト単位でしか設定できないので、8byteだと文字割り当て後、11文字になるパターンが有り得るので7バイトで設定(1byteは16進数2文字)) またこれを64進数に変換すると、 02 17 07 07 57 48 02 28 12 07 になると思いますが合ってますか。 またこれを文字割り当て(ASCII文字コード表の通りの順番で、使用できる文字だけ拾って割り当て)すると、 1G66tk1RB6 となりましたが、合っているでしょうか。一応10文字にはなりましたが。 あと、HashSumがバイト単位の設定なので7バイトにしましたがこれだと9文字になるパターンも有り得ますよね。 その場合は10文字になるまで、入力値のOKWavePassword_change#_0の最後の0を1とか2とかに変えていけばいいかと思ってますが。 まぁそれ用に項目を置いてOKWavePassword_dummy#0_change#_0とかにしてこの場合dummy#の直後の数字を変えるという決めにするとかしとけば、パスワードを今まで何回変更したか知りたい(そんな要望あるのかはともかく)ときにゴッチャにならないで済むけど。 みたいな細かい問題は出てくると思いますが、このように柔軟に対応できると思っていますが、何か他に対応の難しい問題はありそうですか? 【質問4.全体的にどうでしょうか?】 みたいな。 なんか結局、今まで考えていた通りにSHA-3 512でやっとけば良さそうな気がしてきましたが、全体通して総評ください。 以上、よろしくご回答の程、お願いいたします。

  • 複雑なパスワードを作ったほうがよい理由について

    複雑なパスワードを作ったほうがよい理由について 初歩的な質問です。 コンピュータに詳しくないです。できれば専門家の方にアドバイスいただきたいです。 銀行やポータルサイト、通販サイトなどいろいろなウェブのサービスにログインするパスワードを見直そうと思い、どう作れば強いパスワードになるのだろう?と、以下のようなサイトで、パスワードについて調べていくうちに、いくつか疑問が湧いてきました。 「強い」パスワードの作り方 http://bizmakoto.jp/makoto/articles/1407/07/news042.html Kaspersky パスワードチェック https://password.kaspersky.com/jp/ 素朴に「パスワードを強くすることによって防ぐことができるのは、どういう場面だろう?」と思いました。 たとえば、ポータルサイトで、ログイン画面を表示して、次々と「総当り」でパスワードを入力しようとすれば、すぐに、通信が拒否されてしまうしくみになっているんだろうと、想像できますし、サイトに違法に侵入して沢山の顧客のパスワードが載っているファイルを盗んだとすると、ユーザーのパスワードは「丸見え」になってしまうから、ユーザーがどんなに強力なパスワードを作っても、あまり意味がないんじゃないのかな?と思いますし、他人には推測されにくいが自分自身では覚えやすい8文字程度の英数字で充分なんじゃないかな?、強力なパスワードが役立つ場面ってどんな状況・場面だろう?と思いました。 でも、上に貼ったURLのサイトでは「なるべく長くて、ランダムな英数字と記号を組み合わせた」パスワードを推奨しているので、自分自身のパスワードに対する理解に間違いがあるのかな?とも思いました。 よろしければ、アドバイスをお願いいたします。 また、「強力なパスワードが必要な理由」について解説しているサイトを見つけられなかったので、もしご存知でしたら紹介してください。

  • アルファベットを含むランダムな文字列を生成するには?

    通常の数字を用いた乱数を発生させるには OrderNo + Int(17 * Second(Time) * Rnd) :OrderNoはDB上にある注文番号の最終レコード値です という感じで、とりあえず適当にランダムな値を自動で生成させることができるのですが、 アルファベットなどの文字を含む場合のランダムな文字列の生成はどのようにすればよいのでしょうか? 感じできには、 UkB1PgMJ zK22fw2W N1np8zDb DbetjqKq Cj58pfYm というものです。 例は、小文字の[i][l][o]と大文字の[I][L][O]と数字の[0]を含まないランダムな文字列を8桁で生成しています。 (使用したソフトは、Fapsis氏のPassword Creator TypeB Ver3.5です) 具体的には何か関数で、このような文字列をランダムに発生させるものがあるのでしょうか?

  • ランダムパスワード作成時に間違えやすい文字を避ける

    mkpasswdコマンドを使って8文字のパスワードを生成するでのすが、 見間違えやすいo0i1lなどの文字は使わないようにしたいのです。 sedを使えば簡単に。。。とスクリプトを組み始めたのですが、 なかなかうまくいきません。 PW=` mkpasswd -s 0 -l 8 | sed 's/[oO01l9q]//g' ` while [ `echo $PW |wc -m` -eq 8 ] ; do echo $PW done これでは8文字だった時にループし続けてしまうので、 8文字だった時はその8文字だけ出力する方法はありますでしょうか。

  • パスワードの管理はどうしていますか?

    先日AppleIDが不正ログインされてしまいました。幸い金銭被害はそんなになかったのですが、パスワードは他のサービスでも同じものを使っていたのですべて変更するのが大変でした。 みなさんはパスワードの管理はどのようにしていますか? 1)ほとんど同じパスワードを使いまわしている。 2)パスワードの一部の文字(数字)を変えて使いまわしている。例(1234abcd01 1234abcd02など) 3)サイトごとに異なるパスワードを使用している。 4)実物のメモ帳などにメモを取って保存している。 5)パソコンのメモ帳、管理ソフトを使用している。 当てはまるものあげて下さい。自分が覚えやすく他人から予測されずらいパスワードの作り方もお願いします。

  • パスワードのsaltの構築方法

    PHPでパスワードの登録でsaltを使用しようと考えているのですが、ネットで調べても自分の疑問に思っている事が出てきません。 パスワードにsaltという十分な長さ(40文字とか)の文字列を加え、それをmd5などでハッシュ化する・・・と言うことは分かりました。 しかしその実装方法が分かりません。 A.saltはランダム乱数でもいいし、セキュリティは低くなるが固定文字列でもいい。 B.saltは別ファイルに保管(一緒に保管と書いてあるのもありましたが)する。 、というような記事を見かけました。 で、自分はZendFrameworkのマニュアルに沿って考えたのですが、 データベーステーブルにpassword、saltカラムを作成する。 登録時、$_POST['ユーザの入力値']を(ハッシュ化する)passwordカラムに、saltはここでは単純にmt_rand(0,99)としてsaltカラムに登録、とした場合に認証時にはどのようにすればいいのでしょうか? 認証時にユーザの入力したパスワードとデータベースに格納したsaltを結合し、それをmd5()したものと、データベースに格納されているパスワードと同じく格納されたsaltを結合しそれをmd5()したものを比べる ・・・となるとパスワードさえ合って入ればいいので別にsaltは不要なような気がするのでこの実装法は間違っているのかなと思います。 そうではなく、登録時にユーザの入力したパスワードとデータベースに格納したsaltを結合し、それをmd5()したものをpasswordカラム又はsaltカラムに格納する・・・というのも正しいのかな?と思います。 データベースに侵入されればどちらもダメなので、何か別ファイルに保管するのかなとも思いましたが良く分かりません。 登録フォーム => ログインフォームにおいてのsaltの実装法を教えていただけないでしょうか?少し頭がぐちゃぐちゃになり、ちょっと文章がおかしい気もしますがすみません。

    • ベストアンサー
    • PHP
  • ダ・ビンチ・コードの暗号・・おもしろいパスワード設定

    以前 友だちからこの本を貸してもらい読んだのですが その友達が最近、自分の写った写メールを送ってきました 今 「天使と悪魔」が放映されてる このタイミングでこの友達を額に入れて あるパスワードをいれるとこの画像がみれると言うしくみを考えています(おもしろくない??) 面白くなくてもお願いします この時 どんなパスワードを設定するとおもしろいと思いますか? 映画「ダ・ビンチ・コード」の内容に関係したものが希望ですが・・・ おもしろいと言うのは その友だちが「ダ・ビンチ・コードとかけてるんだな・・とわかるものがいいんですけど。 「A・P・P・L・E」 はイマイチ?見たいな感じで。 英数字 混ぜても混ぜなくてもOKです 16文字以内でお願いします。

  • PSNのアカウント作成について

    PSNのアカウントの新規作成についての質問です どうしてもオンラインIDに入れたい単語がありまして 入れたい単語+英数字のランダム4~9桁 で入力してみるのですが、何度文字列を変えて試みても 「入力されたオンラインIDはご利用になれません。他のオンラインIDを入力してください」 と表示されてしまいます 流石に4~9桁のランダムの英数字が全て使われてるとは思えません パスワードやメールアドレスや氏名と同じ文字列は入っていませんし 他人に不快感を与える単語では全く持ってないです そんなに頻繁に使われる単語でもないですし スペースや記号も入れてないです 何度か日にちを置いて再試行してみてもダメでした ちなみに他の単語に変えてみるとすんなり登録画面へ進めます これにはどういう原因が考えられるでしょうか? また、何か入力上の注意で見逃しているものがあるでしょうか? 伝わりにくい文章で申し訳ないのですが、宜しくお願いします

  • パスワードクラック対策について(ドライブ暗号化)

    お世話になります。昨日はパスワードクラックに遭いました。私は、毎日ログインパスワードを入力してWindows7(ホームエディションです)にログインしているのですが、昨日は勝手にパスワードなしでログインできるようになってしまいました。私がアタックされるのは初めてではなく、かなり頻繁にやられます。セキュリティソフトが勝手に停止したり、テレビを視聴するソフトが使えなくなったりと、まあ、被害を受けた種類と数は膨大です。OSがぐちゃぐちゃにされているのはよくわかっています。NortonGhostなしではPCが使えません。私は現在Wimaxを使用しているのですが、Wimaxのルータのセキュリティが脆弱なことがわかっているため、もう一台ルータ(マイクロリサーチのNetGenesis)を間にいれて家で使用しています。メーカーの推奨する設定を基にルータの設定を作成しており、ポート80と433以外はすべて閉じています。TCPタイマは1分で切れるようにしています。また、パスワードは記号大小文字を含めて20桁で使用しています。さて質問です。1.これらの被害を防ぐために、ドライブ暗号化ソフトは有効でしょうか?TrueCryptなるソフトでシステムドライブを暗号化すれば、ハッカー側からは私のPCに入り込めたとしても、中が見えなくなるようになるのでしょうか?2.有効なセキュリティ対策が他にありましたら、ご教示ください。長年に渡る悩みであり、万策尽きて精根ともに疲れ果てています。私も普通の人と同じようなネット生活がしたいのです。以上、よろしくお願いします。

専門家に質問してみよう