それでさらに:
- 以前に書かれた記事の結果
- 彼女についてのより多くのアイデア
- 最初の欠点がない、根本的に異なる「動的パスワード2.0」について説明します。
-
スキャンダル、陰謀、調査、パスワードの設定方法のアイデア:
あなた自身が酔っている間はタイプできないでしょう、
友人の前で入力でき、「QQQQQ」という文字で構成されます
そして彼はそれを繰り返すことはできません...
まず第一に、この記事にあまり批判的ではないことを提案します。あなたの認識に少しユーモアを残します。これらは主にクラウドITインテリジェンスの海に投げ込まれたアイデアです
記事「ダイナミックパスワード」の結果
実装方法は厳密なシーケンスではなく、作成者が提供したテンプレートをパスワードテンプレートの任意の場所に任意の量で挿入できる動的なパスワードコンストラクターです。
その範囲は、平均的な消費者向けの社会システムではありません。 まず、このアイデアは、通常のパスワードエントリのメカニズムを複雑にしたいが、追加のハードウェア(電話、トークン、スマートカードなど)を使用しないクローズドシステムおよび組織で使用できます。
欠点 -サーバーにハッシュとして保存できないため、パスワードテンプレートの一部を開いたままにしておく必要があります。 複雑さは、知っているテンプレートに従ってパスワードを準備するために少し時間を費やす必要があり、その結果、「人々の間」での適用性が低くなります。
利点 -ブルートフォースでパスワードを解読するというアイデアの無益さ(ブルートフォースが突破されている間、対象は以前にジェネレーターによってすでに使用されたものになる可能性があります)。 パスワードの「スヌーピング」からの保護([1-N]分で入力された正確なパスワードは関係ない可能性があります)
アイデアと説明
私は、他のHabrユーザーと同様に、数年前に動的パスワードのアイデアを訪れました。
次に、次のように自分で作成しました。
テンプレートがあります:MM、YY、DDなど。 ここでは、日付フォーマッタのすべてのテンプレートと、親トピックで作成者が指定したテンプレートと、好みに合わせたテンプレートをリストします。
パスワードを設定するには、パスワードの静的テキストと動的テキストを組み合わせる必要があります。これを行うには、テンプレートの開始位置と終了位置を示すフレーミング文字を選択します。 たとえば、java "\\"のスラッシュの原則に従って、二重角括弧 "[[....]]"を使用できます。
この方法で生成されたパスワードパターンの例:
- " qqq [[MM]] qqq "(有効なパスワードは "qqq + 2桁の分+ qqq")
- 「 [[YYYY]]千匹のサルが[[USER]]にバナナを入れた 」(:-))
- " 2 + 2 = [[M]] "(有効なパスワードは「2 + 2 =現在の分の一桁目」です)
- " [[SS]] [[SS]] [[M]] [[SS]] [[SS]] "(数秒間拘束されたパスワードは、将来の特定の秒および分の予備準備が必要になります)
「[[...]]」内で計算を提供することもできます。例:
- k1s $ a [[MM]] [[MM + 1]] [[MM + 9]] [[MM + 7]] [[MM + 9]] (パスワード、これは「k1s $ a」+数字が4回繰り返されるあなたの生年の数字を追加する現在の分)
- [[HH%2 == 0]] (偶数分かどうかに応じて、パスワードはtrueまたはfalse)
- [[MM + -2]] (パスワード、これは+-2分のエラーがある現在の分です)
- [[MM + -2]] [[MM + -2]] [[MM + -2]] [[MM + -2]] [[MM + -2]] (前の段落の開発-パスワード(たとえば1920222120)は異なる数字で構成されます誤差の範囲内で、基本数値が現在の分であると推測する人はいません-私の場合は20)
一般的に、ファンタジーは無制限です。この問題の主なことは、デザインモードですべての必要なパターンとルールをユーザーに伝えることと、たとえばGMTタイムゾーンから時間または他の動的パラメーターを形成する必要があるという事実に注意を引くことです、ログインページ内のどこかに目立たずに移動する必要がある時間を表示します。
動的パスワード2.0
それで、ターンは真新しい「ダイナミックパスワード2.0」を説明するようになりました。 ユーモアをオンにし、ロジックをオンのままにします
状況を想像してください:
友だちがパスワードフィールドに「QQQQQ」または「11111」という平凡なパスワードを入力して入力する方法を確認し、類似のパスワードを使用すると、彼は完全なやかんであることを伝え、それに応じて、彼はプログラムを離れて入力を提案します。 パスワードを5回入力しようとすると、入力が許可されません。その後、 動的パスワードハブに関する記事を一度読んで、パスワードが再生成されただけで、おそらく11分かそれ以外の時刻だったと思い込んでいた...しかし、あなたの友人はコンピュータに座って、あなたの目が「11111」に入り始め、それを開始する前に再び!
その秘密は何ですか?
「Dynamic Password 2.0」というフレーズでは、メインワードは「 dynamic 」ですが、「changeable」という意味ではなく、「dynamic、dance」という意味です;)
誤ったパスワード入力が3回連続して発生した場合のWindowsの反応を覚えていますか? パスワード推測を除外するために数分間何も入力することはできません。その後、数分後に再び3回試行されます。
入力した文字間の時間を制御し、システムに入るときに別のパラメーターとして使用するとどうなりますか?
私はあなたがすでに理解していることを噛みません、そしてすぐに私たちの「高度な」友人のためにパスワードテンプレートを与えます:
Q [[T> 500]] Q [[T> 500]] Q [[T> 500]] Q [[T> 1000]] Q
[[T> 500]]は、文字間はミリ秒単位で0.5秒を超え、最後から2番目と最後の文字間は1秒以上あることを示しています。
ファンタジーをオンにして、他に考えられるルールを考えます:パスワード全体を入力するための最小/最大時間、多かれ少なかれ、ミリ秒単位のエラー、パスワードの最初と2番目の文字を入力する間の最初の時間間隔に基づく動的時間など
すぐに利点:
- 簡単セット
- パスワード自体のハッシュをサーバーに保存する機能
- 優れた反応とタクト感を備えた、パスワードを「タップ」するときに最も単純なメロディーを設定する機能
- 時間もパラメータであるため、選択不可能
- うわー! パスワードを入力するための最小時間を計算できます(1.5秒で簡単に入力できるとしましょう)。また、中毒
に対する意識が変化した場合、同じ速度で入力することはできません。 )))
欠点について:
- 複雑なプログラミングでは、入力文字間の時間を正確に制御する必要があります。実装のために、クライアントとサーバーで何をするかについて慎重に考える必要があります。
- おそらく、テンプレートを発明することは困難です(テンプレートが3文字を入力するよりも難しい場合、3秒待って、残りのパスワード文字を入力します)
- 文字間の時間または合計入力時間を制御するためのルールを知るために、パスワードハッシュのロードにデータベース内の追加の非暗号化フィールド
忘れないでください、これらはすべて概念、反省のためのアイデアであり、そのアイデアをすぐにOdnoklassnikiウェブサイトとその
一般的に、興味深いプロジェクトと皆に幸運を!
Update1 :記事内のコメントパスワード保護の3番目の側面は 、Habrユーザーも同様に考えると最終的に確信しました。 私の記事を書く前に、私はパスワード保護の三次元とそのカメラを読みませんでした。