eLkdC、lk#jBなどのパスワードについて頭を痛めない方法

画像



通常の強力なパスワードイチジクを覚えています。 ほぼ公理。 警備員はまた、この恐怖の火にwoodを喜んで投げ、月に一度シンボルのミッシュマッシュから巨大なひき肉を学ぶことを強制します。 「食堂のハッカー」という最高の伝統の妄想的なセキュリティ対策は、ユーザーがモニターのパスワードを慎重にスクラッチするか、キーボードの下に置くという事実につながります。 いいえ、まじめに、まあ、彼らの正しい心の普通のユーザーの誰が、次の精神でパスワード要件を遵守しますか?



  1. 8文字より長い
  2. 大文字、小文字、数字、特殊文字が含まれ、
  3. 前のものを繰り返さない
  4. 毎月変更されます。


ペーパークリップ、バッテリー、正しい馬についての古典的な話を思い出し、同時に、人間が読めるクールなオフラインのパスワードジェネレーターをいくつか見てみましょう。 かつて、それは私の人生を大いに促進しました。



エントロピー



古典的なパスワードは、人々が覚えるのが難しくなり、車に乗りやすくなります。 これは残念です。 レシピを含む次の非常に重要で秘密のWebサイトでは、すべての登録番号と数字に10桁のパスワードが必要ですか? 3つの理由があります。



  1. サイト管理者は、RFIDタグが埋め込まれたトイレへの扉を開く暗号パラノイアです。
  2. 管理者は、現在のハードウェアがリークされたベースを非常に迅速に研磨することを少し心配しているため、少なくとも少しは防御しておくとよいでしょう。 ハッシュをソルトすることもできます。
  3. 管理者は上級ユーザー向けの3か月のコースを完了し、デフォルトのWordpressを引き上げましたが、彼の要件が何であるかわかりません。


攻撃の主な2つの分野は、パスワードの長さとエントロピーを低くするための辞書検索またはブルートフォースです。 iloveyouやpasswordなどのパスワードには明らかに欠陥があり、エントロピーの低いパスワードは単純な総当たり攻撃に対して脆弱です。



コンピューター業界のパスワードの複雑さは通常、ビット単位で測定される情報エントロピー(情報理論の概念)の観点から評価されます。 パスワードを推測するために試行する必要がある回数の代わりに、この数値の2を底とする対数が計算され、結果の数値はパスワードの「エントロピービット」の数と呼ばれます。 この方法で計算された、たとえば42ビットの複雑さを持つパスワードは、ランダムに生成された42ビットのパスワードに対応します。 つまり、42ビットの複雑さを持つパスワードを完全に検索するには、2 42個のパスワードを作成して使用する必要があります。 2 42個のパスワードのいずれかが正しいでしょう。 公式によると、パスワードの長さを1ビット増やすと、使用可能なパスワードの数が2倍になり、攻撃者のタスクが2倍難しくなります。 平均して、攻撃者は正しいパスワードを見つける前に、考えられるすべてのパスワードの半分を確認する必要があります。

ウィキペディア



以下の表で、シンボルごとのエントロピーの量を推定できます。

文字セット 文字数、N 文字ごとのエントロピー、H、ビット
アラビア数字(0-9) 10 3,3219
16進数(0-9、AF) 16 4,0000
ラテン小文字(az) 26 4,7004
アラビア数字とラテン小文字(az、0-9) 36 5.1699
ラテンアルファベットの大文字と小文字(az、AZ) 52 5,7004
ラテンアルファベットのアラビア数字、小文字、大文字(az、AZ、0-9) 62 5.9542
すべての印刷可能なASCII文字 95 6.5699


馬のペーパークリップ



理想的なパスワードには、サンスクリット語と笑顔のうんちを含む、考えられるすべての文字を含めるべきだという強い思いがあります。 結局、文字ごとに6ビット半です! しかし、ここでは適用性の問題に直面しています。 古い携帯電話で出張中のどこかにアラビア文字や象形文字を入力する方法がない場合、サーバーに到達しようとするのは非常に残念です。 OK、私たちは考え、そして簡単に行に移動します-az、AZ、0-9。 1文字あたりほぼ6ビット。 しかし、問題は-Vh8GkCnbqbQDRvの精神でみじん切りの肉を覚えることは非常に難しいことです。 特に、異なる場所で同じキーを使用することの望ましくないことを考慮する場合。 はい、デジタルオーシャンまたはドメインレジストラーのアカウントの場合、gZsa <(Dw} a + * 5pの形式のパスワードを使用できます。ただし、このようなキーには、KeePassXなどの同期暗号化データベースに保存する必要があります。



画像



そのような場合、馬とペーパークリップを使用した古典的なコミックが助けになります。これは、キャラクターごとのエントロピーが比較的低い長いパスワードの利点を明確に示しています。



パスワード@Vy [o8!Bは、8 * 6.5699 = 52ビットのエントロピーを含んでいますが、簡単に忘れることができます。 eastrightcloudexploreのより妥協的なオプションは、保管が容易な暗号化です。21* 4.7004 = 99ビットのエントロピー。



正しい名前のhorseebatterystaple.netという名前のこのアルゴリズムを使用してパスワードを生成するためのリソースもあります。 もちろん、オンラインパスワードジェネレーターは非常に悪い考えです。 私はすぐに古いたとえ話を思い出します:

システム管理者は、radiusサーバーを介した集中認証のために強力なパスワードを取得したいと考えていました。 彼はYin Fu Woに助言を求めました。



-マスター、パスワード「戰役」は強いと思いますか?

いいえ、「Yin Masterに答えました。これは辞書のパスワードです。」

「しかし、辞書にはそのような言葉はありません...」

-「語彙」とは、この文字の組み合わせがワードリストにあることを意味します。つまり、暗号解析プログラムに接続されている列挙用の「辞書」です。 これらの辞書は、Webでこれまでに見つかったすべての文字の組み合わせで構成されています。

-パスワード「Pft、bcm」は機能しますか?

-ありそうにない。 また、語彙です。

「でもどう?」 これは...

-Googleでこの組み合わせを入力すると、表示されます。

システム管理者がキーをスナップしました。

-そうそう。 あなたは正しいですマスター

しばらくして、システム管理者は叫んだ:

-先生、辞書にない良いパスワードを選びました。

Yin Fu Woはうなずいた。

「それをGoogleに紹介しました」とシステム管理者は続けて、「Webにそのような組み合わせがないことを確認しました。」

-今あります。


オフラインパスワードジェネレーター



KeePassのようなオプションを使用できますが、結果はひどい混乱になり、覚えにくいです。 したがって、覚えやすい発音されたキーを作成するプログラムは非常に魅力的なオプションです。 はい、私たちは母音と子音の組み合わせに制限を導入して、エントロピーを少し犠牲にしますが、人間の可読性は大幅に向上します。



xkcdpass



手始めに、xkcdpassに注意を払うことができます。xkcdpassは、すでに述べた原理で動作します。 Debianベースのディストリビューションのインストールは非常によく知られています:



sudo apt-get install xkcdpass
      
      





Githubでpythonソースを取得することもできます: github.com/redacted/XKCD-password-generator 。 pip installを使用することもできます。 iOSにもポートがあります:



画像

このジェネレータの主な機能は、ニーモニック頭字語シーケンスの作成です。 これを行うには、-acrosticキーを使用します。



 meklon@meklon-desktop:~$ xkcdpass --count=5 --acrostic='habr' --delimiter='|' --min=9 --max=9 --valid_chars='[az]' holograph|archetype|brutishly|refutable hemstitch|allotropy|balalaika|revivable hardboard|ampleness|boundless|refurnish hypertext|adiabatic|backwards|replicate halfpence|arrowhead|blackbird|recommend
      
      





balalaikaのオプションは特に嬉しかったです)この方法の主な欠点は、パスワードの長さが制限されているいサービスです。 正確に何が保存されるのか理解できませんでした。 さらに、ユーザーのキーからの塩辛いハッシュのみを保存します。



pwgen



クラシックバージョン。 覚えやすいキーと、真にランダムなシーケンスを生成できます。 インストール:



 sudo apt-get install pwgen
      
      





構文は単純です-pwgen [キー] [パスワードの長さ] [パスワードの数]。 キーは、結果のパスワードを複雑にし、簡素化できます。 デフォルトでは、数字と大文字/小文字が使用されます。



 meklon@RegenLab-LinuxDesktop-1:~$ pwgen 8 4 eesohy9E Ohqu3che Mo7aijeu ieb1Quie
      
      





エントロピーを少し減らし、数字を捨てることで読みやすさを改善できます。 同時に、これを補正するために最大12文字まで拡張します(12 * 5.7004 = 68ビットのエントロピー)。



 meklon@meklon-desktop:~$ pwgen 12 4 --no-numerals Eipohliemiwi WoLooJeemeir laishaisaTho oquaibahYori
      
      





--secureオプションを追加すると、パスワードは読み取れなくなりますが、完全にランダムになります。



 meklon@meklon-desktop:~$ pwgen 12 4 --secure YFSb5lqAfSLV nMa5GKJhMmw2 VczwRho2xuwG PPAc6SByedfh
      
      





gpw



別の素晴らしいジェネレーター。 パスワードを作成するとき、彼は最も一般的なトライグラムを組み合わせるという原則を使用します。 その結果、発音が非常に快適になります。



 meklon@meklon-desktop:~$ gpw 4 12 oventryllyna slytersiderm raboalsollic testrisheocu
      
      





APG



高度なパスワードジェネレーター。 たくさんのオプションと機能。 デフォルトバージョンでは、パスワードをフラグメントに分割すると非常に便利です。



 meklon@meklon-desktop:~$ apg Please enter some random data (only first 16 are significant) (eg. your old password):> BidKasJuink6 (Bid-Kas-Ju-ink-SIX) ontEjsed6 (ont-Ej-sed-SIX) rordOWren4 (rord-O-Wren-FOUR) yalIkatEac0 (yal-Ik-at-Eac-ZERO) WruAdNevav1 (Wru-Ad-Nev-av-ONE) tipBevJieb8 (tip-Bev-Jieb-EIGHT)
      
      





結論があるはずですが、著者は疲れています



成功した世代)



UPD



パスワードの暗号強度を確認するユーティリティを追加することにしました。 役に立たない、辞書のキーを選択し、耐久性を評価します。

 sudo apt install libcrack2
      
      





とても簡単に使用されます。 スクリプトで何かを連続してフィードするか、入力のエコーを介してパスワードをドロップするだけです。 投稿からジェネレーターをチェックしましょう:

 meklon@RegenLab-LinuxDesktop-1:~$ echo "abc123456" | cracklib-check abc123456:   meklon@RegenLab-LinuxDesktop-1:~$ echo "WruAdNevav1" | cracklib-check WruAdNevav1: OK meklon@RegenLab-LinuxDesktop-1:~$ echo "testrisheocu" | cracklib-check testrisheocu: OK meklon@RegenLab-LinuxDesktop-1:~$ echo "WoLooJeemeir" | cracklib-check WoLooJeemeir: OK
      
      





このユーティリティはxkcdpassを疑って見ますが、辞書の単語の混合物からの長いパスワードを有効なものとして認識します。

 meklon@RegenLab-LinuxDesktop-1:~$ echo "holograph|archetype|brutishly|refutable" | cracklib-check holograph|archetype|brutishly|refutable: OK meklon@RegenLab-LinuxDesktop-1:~$ echo "holograph" | cracklib-check holograph:      meklon@RegenLab-LinuxDesktop-1:~$ echo "archetype" | cracklib-check archetype:      meklon@RegenLab-LinuxDesktop-1:~$ echo "holograph|archetype" | cracklib-check holograph|archetype: OK
      
      







in_green_shoesを編集していただきありがとうございます



All Articles